Plugin:MirLua/Module/m core/ru
Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.
Константы
Тип | Описание | |
---|---|---|
NULL | light userdata
|
Нулевой указатель. |
INVALID_HANDLE_VALUE | light userdata
|
Невалидный дескриптор. |
CALLSERVICE_NOTFOUND | number
|
Результат вызова несуществующего сервиса. |
Именованные события
CreateHookableEvent
Создает событие.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Имя события. |
Результат
Тип:: light userdata
Возвращает дескриптор события, если событие было успешно создано, иначе nil
.
Пример
local hEvent = m.CreateHookableEvent('MyEvent')
if hEvent == m.NULL then
print('Event handle is empty!')
end
HookEvent
Устанавливает функцию обратного вызова («ловушку») для реакции на вызов события. Ловушки вызываются в порядке добавления по цепочке друг за другом.
Сигнатура ловушки: function (wParam, lParam) return 0 end
.
Корректным результатом работы ловушки является 0
. При возврате 1
следующие в цепочке ловушки не будут вызваны.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Имя события. |
hook | Да | function
|
Функция-ловушка, которая будет вызвана при наступлении события. |
Результат
Тип:: light userdata
Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil
.
Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
UnhookEvent
Удаляет ловушку из цепочки вызовов события.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
hEvent | Да | light userdata
|
Дескриптор события, который был получен при вызове CreateHookableEvent. |
Результат
Тип:: boolean
Возвращает true
, если ловушка успешно удалена, иначе false
.
Пример
m.UnhookEvent(hHook)
NotifyEventHooks
Поочередно вызывает все ловушки в цепочке вызова события.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
hEvent | Да | light userdata
|
Дескриптор события, который был получен при вызове CreateHookableEvent. |
wParam | Нет | ||
lParam | Нет |
Результат
Тип:: boolean
Возвращает true
, если вызваны все функции-ловушки, иначе false
.
Пример
m.NotifyEventHooks(hEvent)
Именованные сервисные функции
CreateServiceFunction
Создает сервисную функцию («сервис»).
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Имя сервиса. |
Результат
Тип:: light userdata
Возвращает дескриптор сервиса, если сервис бы успешно создан, иначе nil
.
Пример
local hService = m.CreateServiceFunction('MyService', function(w, l)
print('MyServiceis called!')
end)
CallService
Вызывает сервис с параметрами
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Имя сервиса. |
wParam | Нет | ||
lParam | Нет |
Результат
Тип:: number
Возвращает результат выполнения сервиса или CALLSERVICE_NOTFOUND.
Пример
local result = m.CallService('MyService')
if result == m.CALLSERVICE_NOTFOUND then
print('Service is not found!')
end
ServiceExists
Проверяет существование сервиса по имени.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Имя сервиса. |
Результат
Тип:: boolean
Возвращает true
, если сервис существует, иначе false
.
Пример
if m.ServiceExists('MyService') then
m.CallService('MyService')
end
DestroyServiceFunction
Удаляет сервисную функцию.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
hService | Да | light userdata
|
Дескриптор сервиса, полученный при вызове CreateServiceFunction. |
Пример
m.DestroyServiceFunction(hService)
Остальное
IsPluginLoaded
Checks using UUID of the plugin whether it is loaded.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
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
Translate
Translates a string into the language of the current langpack.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
text | Да | string
|
Результат
Тип:: string
Пример
m.Translate('Exit')
Parse
Replaces Miranda NG variables in a string.
Имя параметра | Required | Тип | Описание |
---|---|---|---|
text | Да | string
|
Результат
Тип:: string
Пример
local profileName = m.ReplaceVariables('%miranda_profilename%')