Plugin:MirLua/ru/m core: Difference between revisions
(Plugin:MirLua/ru/m core) |
(angle quotes) |
||
Line 20: | Line 20: | ||
=== HookEvent === | === HookEvent === | ||
Устанавливает функцию обратного вызова ( | Устанавливает функцию обратного вызова («ловушку») для реакции на вызов события. Ловушки вызываются в порядке добавления по цепочке друг за другом. | ||
Сигнатура ловушки: <code>function (wParam, lParam) return 0 end</code>. | Сигнатура ловушки: <code>function (wParam, lParam) return 0 end</code>. | ||
Line 82: | Line 82: | ||
== Именованные сервисные функции == | == Именованные сервисные функции == | ||
=== CreateServiceFunction === | === CreateServiceFunction === | ||
Создает сервисную функцию ( | Создает сервисную функцию («сервис») | ||
; Параметры | ; Параметры | ||
: '''''name''''' | : '''''name''''' |
Revision as of 19:27, 6 December 2015
Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.
Именованные события
CreateHookableEvent
Создает событие
- Параметры
- name
- Тип: string
- Имя события
- Результат
- Тип: light userdata
- Возвращает дескриптор события, если событие было успешно создано, иначе nil
- Пример
local hEvent = m.CreateHookableEvent('MyEvent')
HookEvent
Устанавливает функцию обратного вызова («ловушку») для реакции на вызов события. Ловушки вызываются в порядке добавления по цепочке друг за другом.
Сигнатура ловушки: function (wParam, lParam) return 0 end
.
Корректным результатом работы ловушки является 0. При возврате 1 следующие в цепочке ловушки не будут вызваны.
- Параметры
- name
- Тип: string
- Имя события.
- hook
- Тип: function
- Функция-ловушка, которая будет вызвана при наступлении события.
- Результат
- Тип: light userdata
- Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil
- Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
UnhookEvent
Удаляет ловушку из цепочки вызовов события.
- Параметры
- hEvent
- Тип: light userdata
- Дескриптор события, который был получен при вызове CreateHookableEvent
- Результат
- Тип: 'boolean
- Возвращает true, если функции-ловушки успешно удалена, иначе false.
- Пример
m.UnhookEvent(hHook)
NotifyEventHooks
Поочередно вызывает все ловушки в цепочке вызова события.
- Параметры
- hEvent
- Тип: light userdata
- Дескриптор события, который был получен при вызове CreateHookableEvent.
- wParam
- lParam
- Результат
- Тип: boolean
- Возвращает true, если вызваны все функции-ловушки, иначе false.
- Пример
m.NotifyEventHooks(hEvent)
Именованные сервисные функции
CreateServiceFunction
Создает сервисную функцию («сервис»)
- Параметры
- name
- Тип: string
- Имя сервиса.
- Результат
- Тип: light userdata
- Возвращает дескриптор сервиса, если сервис бы успешно создан, иначе nil
- Пример
local hService = m.CreateServiceFunction('MyService', function(w, l)
print('MyServiceis called!')
end)
CallService
Вызывает сервис с параметрами
- Параметры
- name
- Тип: string
- Имя сервиса
- wParam
- lParam
- Результат
- Тип: number
- Возвращает результат выполнения сервиса или CALLSERVICE_NOTFOUND
- Пример
m.CallService('MyService', 0, 0)
ServiceExists
Проверяет существование сервиса по имени
- Параметры
- name
- Тип: string
- Имя сервиса
- Результат
- Тип: boolean
- Возвращает true, если сервис существует, иначе false
- Пример
if m.ServiceExists('MyService') then
m.CallService('MyService')
end
DestroyServiceFunction
Удаляет сервисную функцию
- Параметры
- hService
- Тип: light userdata
- Дескриптор сервиса, полученный при вызове CreateServiceFunction
- Пример
m.DestroyServiceFunction(hService)
Остальное
IsPluginLoaded
Проверяет загружен ли плагин по его uuid
- Параметры
- uuid
- Тип: string
- Uuid плагина в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Результат
- Тип: boolean
- Возвращает true, если плагин загружен, иначе false.
- Пример
if m.IsPluginLoaded('{F0FDF73A-753D-499d-8DBA-336DB79CDD41}') then
print('Advanced auto away plugin is loaded!')
end
Utf8DecodeA
Конвертирует содержимое lua строки в ANSI (кодовая страница берется из текущего языкового пакета).
- text
- Тип: string
- Результат
- Тип: string
- Пример
m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))
Utf8DecodeW
Конвертирует содержимое lua строки в unicode (utf-16)
- text
- Тип: string
- Результат
- Тип: string
- Пример
m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)
Translate
Переводит строку на язык текущего языкового пакета
- text
- Тип: string
- Результат
- Тип: string
- Пример
m.Translate('Exit')
ReplaceVariables
Заменяет переменные ядра Miranda NG в строке
- text
- Результат
- Тип: string
- Пример
local profileName = m.ReplaceVariables('%miranda_profilename%')
Константы
NULL
Нулевой указатель
- Тип: light userdata
- Пример
if hEvent == m.NULL then
print('Event handle is empty!')
end
INVALID_HANDLE_VALUE
Невалидный дескриптор
- Тип: light userdata
- Пример
if hEvent == m.NULL then
print('Event handle is invalid!')
end
CALLSERVICE_NOTFOUND
Результат вызова несуществующего сервиса
- Тип: number
- Пример
local result = m.CallService('MyService')
if result == m.CALLSERVICE_NOTFOUND then
print('Service is not found!')
end