User:Unsane/MirLua/m core
Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.
Именованные события
CreateHookableEvent
Создает событие
Параметры
- name - имя события
Результат
- Дескриптор события или nil
Пример
local hEvent = m.CreateHookableEvent('MyEvent')
HookEvent
Устанавливает функция обратного вызова ("ловушку") для реакции на вызов события.
Параметры
- name - имя события
- hook - функция-ловушки
Результат
- Возвращает дескриптор подписки или nil
Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
NotifyEventHooks
Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие.
Параметры
- hEvent - дескриптор события, который был получен при вызове CreateHookableEvent
- wParam
- lParam
Результат
Пример
m.NotifyEventHooks(hEvent)
UnhookEvent
Удаляет подписку на именованное событие
Параметры
- hEvent - дескриптор события, который был получен при вызове CreateHookableEvent
Результат
Пример
m.UnhookEvent(hHook)
DestroyHookableEvent
Удаляет именованное событие
m.DestroyHookableEvent(hEvent)
Именованные сервисные функции
CreateServiceFunction
Создает именованную сервисную функцию
local hService = m.CreateServiceFunction('MyService', function(w, l)
print('MyServiceis called!')
end)
CallService
Вызывает именованную сервисную функцию
m.CallService('MyService', 0, 0)
ServiceExists
Проверяет существование сервиса по имени
if m.ServiceExists('MyService') then
m.CallService('MyService')
end
DestroyServiceFunction
Удаляет сервисную функцию
m.DestroyServiceFunction(hService)
Остальное
IsPluginLoaded
Проверяет загружен ли плагин по его muuid
if m.IsPluginLoaded('{F0FDF73A-753D-499d-8DBA-336DB79CDD41}') then
print('Advanced auto away plugin is loaded!')
end
Utf8DecodeA
Конвертирует содержимое lua строки в ANSI
m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))
Utf8DecodeW
Конвертирует содержимое lua строки в Unicode
m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)
Translate
Переводит строку на язык текущего языкового пакета
m.Translate('Exit')
ReplaceVariables
Заменяет переменные ядра Miranda NG в строке
local profileName = m.ReplaceVariables('%miranda_profilename%')