Plugin:MirLua/Module/m core
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. |
Version | string
|
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)
HookTemporaryEvent
…
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
name | Yes | string
|
Event name. |
hook | Yes | function
|
Hook function to be called when event occurs. |
Result
…
Example
…
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
Parameter name | Required | Type | Description |
---|---|---|---|
name | Yes | string
|
Service name. |
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
Parameter name | Required | Type | Description |
---|---|---|---|
name | Yes | string
|
Service name. |
wParam | No | ||
lParam | No |
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
Parameter name | Required | Type | Description |
---|---|---|---|
name | Yes | string
|
Service name. |
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
Parameter name | Required | Type | Description |
---|---|---|---|
hService | Yes | light userdata
|
Service handle received on CreateServiceFunction call. |
Example
m.DestroyServiceFunction(hService)
Threads
ForkThread
…
TerminateThread
…
Other
IsPluginLoaded
Checks using UUID of the plugin whether it is loaded.
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
uuid | Yes | string
|
Plugin UUID in format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .
|
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
Free
…
Translate
Translates a string into the language of the current langpack.
Parameters
Parameter name | Required | Type | Description |
---|---|---|---|
text | Yes | string
|
Result
Type: string
Example
m.Translate('Exit')
Parse
Replaces Miranda NG variables in a string.
Parameter name | Required | Type | Description |
---|---|---|---|
text | Yes | string
|
Result
Type: string
Example
local profileName = m.ReplaceVariables('%miranda_profilename%')
GetFullPath
…