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
Returns true
if all hooks were called, otherwise false
.
Пример
m.NotifyEventHooks(hEvent)
Named service functions
CreateServiceFunction
Creates a service function ("service").
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Service name. |
Результат
Тип:: light userdata
Returns service handle if service was created successfully, otherwise nil
.
Пример
local hService = m.CreateServiceFunction('MyService', function(w, l)
print('MyServiceis called!')
end)
CallService
Calls service with parameters.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Service name. |
wParam | Нет | ||
lParam | Нет |
Результат
Тип:: number
Returns result of service execution or CALLSERVICE_NOTFOUND.
Пример
local result = m.CallService('MyService')
if result == m.CALLSERVICE_NOTFOUND then
print('Service is not found!')
end
ServiceExists
Checks if service exists by its name.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
name | Да | string
|
Service name. |
Результат
Тип:: boolean
Returns true
if service exists, otherwise false
.
Пример
if m.ServiceExists('MyService') then
m.CallService('MyService')
end
DestroyServiceFunction
Destroys a service function.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
hService | Да | light userdata
|
Service handle received on CreateServiceFunction call. |
Пример
m.DestroyServiceFunction(hService)
Other
IsPluginLoaded
Checks using UUID of the plugin whether it is loaded.
Параметры
Имя параметра | Required | Тип | Описание |
---|---|---|---|
uuid | Да | string
|
Plugin UUID in format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .
|
Результат
Тип:: boolean
Returns true
if plugin is loaded, otherwise 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%')