Plugin:MirLua/Module/m core/ru

From Miranda NG
< Plugin:MirLua
Revision as of 02:03, 10 February 2022 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Other languages:

Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.

Константы

Тип Описание
NULL light userdata Нулевой указатель.
INVALID_HANDLE_VALUE light userdata Невалидный дескриптор.
CALLSERVICE_NOTFOUND number Результат вызова несуществующего сервиса.
Version string

Именованные события

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)

HookTemporaryEvent

Параметры

Имя параметра Required Тип Описание
name Да string Event name.
hook Да function Hook function to be called when event occurs.

Результат

Пример


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)

Threads

ForkThread


TerminateThread

Остальное

IsPluginLoaded

Проверяет загружен ли плагин (по UUID плагина).

Параметры

Имя параметра 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

Free


Translate

Переводит строку на язык текущего языкового пакета.

Параметры

Имя параметра Required Тип Описание
text Да string

Результат

     Тип: string

Пример

m.Translate('Exit')

Parse

Заменяет переменные ядра Miranda NG в строке.

Имя параметра Required Тип Описание
text Да string

Результат

     Тип: string

Пример

local profileName = m.ReplaceVariables('%miranda_profilename%')

GetFullPath