Plugin:MirLua/Module/m core: Difference between revisions
(turn 'Constants' to table with linkable items) |
(transform all 'Named events') |
||
Line 32: | Line 32: | ||
</translate> | </translate> | ||
=== CreateHookableEvent === | === CreateHookableEvent === | ||
Creates a hookable event. | <translate>Creates a hookable event.</translate> | ||
==== {{Ls|MirLua/Modules/parameters}} ==== | ==== {{Ls|MirLua/Modules/parameters}} ==== | ||
{| class="wikitable" | |||
:: | |- | ||
! scope="col" | {{Ls|MirLua/Modules/param_name}} | |||
! scope="col" | {{Ls|MirLua/Modules/required_param}} | |||
! scope="col" | {{Ls|Content/TableHeaders/type}} | |||
! scope="col" | {{Ls|Content/TableHeaders/description}} | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | name | |||
| style="text-align:center" | {{Ls|YesNo/yes}} | |||
| style="text-align:center" | <code>string</code> | |||
| <translate>Event name.</translate> | |||
|} | |||
==== {{Ls|MirLua/Modules/result}} ==== | ==== {{Ls|MirLua/Modules/result}} ==== | ||
{{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>light userdata</code> | {{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>light userdata</code> | ||
{{nbsp|5}}<translate>Returns event handle if event was created successfully, otherwise <tvar|nil><code>nil</code></>.</translate> | |||
==== {{Ls|MirLua/Modules/example}} ==== | ==== {{Ls|MirLua/Modules/example}} ==== | ||
Line 53: | Line 63: | ||
=== HookEvent === | === HookEvent === | ||
Sets a callback function ("hook") to react to event call. Hooks are called one by one in the order they were added to the sequence. | <translate>Sets a callback function ("hook") to react to event call. Hooks are called one by one in the order they were added to the sequence.</translate> | ||
Hook signature: <code>function (wParam, lParam) return 0 end</code>. | <translate>Hook signature: <tvar|signature><code>function (wParam, lParam) return 0 end</code></>.</translate> | ||
Correct result for a hook is 0. When 1 is returned, the following hooks in a sequence won't be called. | <translate>Correct result for a hook is <tvar|return_0><code>0</code></>. When <tvar|return_1><code>1</code></> is returned, the following hooks in a sequence won't be called.</translate> | ||
==== {{Ls|MirLua/Modules/parameters}} ==== | ==== {{Ls|MirLua/Modules/parameters}} ==== | ||
{| class="wikitable" | |||
:: | |- | ||
! scope="col" | {{Ls|MirLua/Modules/param_name}} | |||
! scope="col" | {{Ls|MirLua/Modules/required_param}} | |||
:: | ! scope="col" | {{Ls|Content/TableHeaders/type}} | ||
! scope="col" | {{Ls|Content/TableHeaders/description}} | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | name | |||
| style="text-align:center" | {{Ls|YesNo/yes}} | |||
| style="text-align:center" | <code>string</code> | |||
| <translate>Event name.</translate> | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | hook | |||
| style="text-align:center" | {{Ls|YesNo/yes}} | |||
| style="text-align:center" | <code>function</code> | |||
| <translate>Hook function to be called when event occurs.</translate> | |||
|} | |||
==== {{Ls|MirLua/Modules/result}} ==== | ==== {{Ls|MirLua/Modules/result}} ==== | ||
{{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>light userdata</code> | {{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>light userdata</code> | ||
{{nbsp|5}}<translate>Returns hook handle if hook was created successfully, otherwise <tvar|nil><code>nil</code></>.</translate> | |||
==== {{Ls|MirLua/Modules/example}} ==== | ==== {{Ls|MirLua/Modules/example}} ==== | ||
Line 79: | Line 101: | ||
=== UnhookEvent === | === UnhookEvent === | ||
Removes hook from event call sequence. | <translate>Removes hook from event call sequence.</translate> | ||
==== {{Ls|MirLua/Modules/parameters}} ==== | ==== {{Ls|MirLua/Modules/parameters}} ==== | ||
{| class="wikitable" | |||
:: | |- | ||
! scope="col" | {{Ls|MirLua/Modules/param_name}} | |||
! scope="col" | {{Ls|MirLua/Modules/required_param}} | |||
! scope="col" | {{Ls|Content/TableHeaders/type}} | |||
! scope="col" | {{Ls|Content/TableHeaders/description}} | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | hEvent | |||
| style="text-align:center" | {{Ls|YesNo/yes}} | |||
| style="text-align:center" | <code>light userdata</code> | |||
| <translate>Event handle received on <tvar|CreateHookableEvent>[[#CreateHookableEvent|CreateHookableEvent]]</> call.</translate> | |||
|} | |||
==== {{Ls|MirLua/Modules/result}} ==== | ==== {{Ls|MirLua/Modules/result}} ==== | ||
{{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>boolean</code> | {{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>boolean</code> | ||
{{nbsp|5}}<translate>Returns <tvar|true><code>true</code></> if hook function was removed successfully, otherwise <tvar|false><code>false</code></>.</translate> | |||
==== {{Ls|MirLua/Modules/example}} ==== | ==== {{Ls|MirLua/Modules/example}} ==== | ||
Line 95: | Line 127: | ||
=== NotifyEventHooks === | === NotifyEventHooks === | ||
Calls all hooks of event call sequence one by one. | <translate>Calls all hooks of event call sequence one by one.</translate> | ||
==== {{Ls|MirLua/Modules/parameters}} ==== | ==== {{Ls|MirLua/Modules/parameters}} ==== | ||
{| class="wikitable" | |||
:: | |- | ||
! scope="col" | {{Ls|MirLua/Modules/param_name}} | |||
: | ! scope="col" | {{Ls|MirLua/Modules/required_param}} | ||
: | ! scope="col" | {{Ls|Content/TableHeaders/type}} | ||
! scope="col" | {{Ls|Content/TableHeaders/description}} | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | hEvent | |||
| style="text-align:center" | {{Ls|YesNo/yes}} | |||
| style="text-align:center" | <code>light userdata</code> | |||
| <translate>Event handle received on <tvar|CreateHookableEvent>[[#CreateHookableEvent|CreateHookableEvent]]</> call.</translate> | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | wParam | |||
| style="text-align:center" | {{Ls|YesNo/no}} | |||
| style="text-align:center" | | |||
| | |||
|- | |||
! scope="row" class="MirLuaParametersTable-parameter" | lParam | |||
| style="text-align:center" | {{Ls|YesNo/no}} | |||
| style="text-align:center" | | |||
| | |||
|} | |||
==== {{Ls|MirLua/Modules/result}} ==== | ==== {{Ls|MirLua/Modules/result}} ==== | ||
{{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>boolean</code> | {{nbsp|5}}{{Ls|MirLua/Modules/type}}: <code>boolean</code> | ||
{{nbsp|5}}<translate>Returns <tvar|true><code>true</code></> if all hooks were called, otherwise <tvar|false><code>false</code></>.</translate> | |||
==== {{Ls|MirLua/Modules/example}} ==== | ==== {{Ls|MirLua/Modules/example}} ==== |
Revision as of 12:29, 2 June 2018
This module is imported into global table and available in any module through variable m. It allows you to access basic features of Miranda NG core.
Constants
Type | Description | |
---|---|---|
NULL | light userdata
|
Null pointer. |
INVALID_HANDLE_VALUE | light userdata
|
Invalid handle. |
CALLSERVICE_NOTFOUND | number
|
Result of service call when service does not exist. |
Named events
CreateHookableEvent
Creates a hookable event.
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
name | Yes | string
|
Event name. |
Result
Type:: light userdata
Returns event handle if event was created successfully, otherwise nil
.
Example
local hEvent = m.CreateHookableEvent('MyEvent')
if hEvent == m.NULL then
print('Event handle is empty!')
end
HookEvent
Sets a callback function ("hook") to react to event call. Hooks are called one by one in the order they were added to the sequence.
Hook signature: function (wParam, lParam) return 0 end
.
Correct result for a hook is 0
. When 1
is returned, the following hooks in a sequence won't be called.
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
name | Yes | string
|
Event name. |
hook | Yes | function
|
Hook function to be called when event occurs. |
Result
Type:: light userdata
Returns hook handle if hook was created successfully, otherwise nil
.
Example
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
UnhookEvent
Removes hook from event call sequence.
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
hEvent | Yes | light userdata
|
Event handle received on CreateHookableEvent call. |
Result
Type:: boolean
Returns true
if hook function was removed successfully, otherwise false
.
Example
m.UnhookEvent(hHook)
NotifyEventHooks
Calls all hooks of event call sequence one by one.
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
hEvent | Yes | light userdata
|
Event handle received on CreateHookableEvent call. |
wParam | No | ||
lParam | No |
Result
Type:: boolean
Returns true
if all hooks were called, otherwise false
.
Example
m.NotifyEventHooks(hEvent)
Named service functions
CreateServiceFunction
Creates a service function ("service")
Parameters
- name
- Type:
string
- Service name.
- Type:
Result
Type:: light userdata
- Returns service handle if service was created successfully, otherwise nil.
Example
local hService = m.CreateServiceFunction('MyService', function(w, l)
print('MyServiceis called!')
end)
CallService
Calls service with parameters.
Parameters
- name
- Type:
string
- Service name.
- Type:
- wParam
- lParam
Result
Type:: number
- Returns result of service execution or CALLSERVICE_NOTFOUND
Example
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.
Parameters
- name
- Type:
string
- Service name.
- Type:
Result
Type:: boolean
- Returns true if service exists, otherwise false
Example
if m.ServiceExists('MyService') then
m.CallService('MyService')
end
DestroyServiceFunction
Destroys a service function.
Parameters
- hService
- Type:
light userdata
- Service handle received on CreateServiceFunction call.
- Type:
Example
m.DestroyServiceFunction(hService)
Other
IsPluginLoaded
Checks if plugin is loaded by its UUID.
Parameters
- uuid
- Type:
string
- Plugin UUID in format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
- Type:
Result
Type:: boolean
- Returns true if plugin is loaded, otherwise false.
Example
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.
- text
- Type:
string
- Type:
Result
Type:: string
Example
m.Translate('Exit')
Parse
Replaces Miranda NG variables in a string.
- text
Result
Type:: string
Example
local profileName = m.ReplaceVariables('%miranda_profilename%')