{$IFNDEF M_ACTMAN} {$DEFINE M_ACTMAN} // defined in interfaces.inc //const MIID_ACTMANAGER:MUUID='{9584DA04-FB4F-40c1-9325-E4F9CAAFCB5D}'; const AutoStartName:PWideChar = '#Autostart'; const DBBranch = 'ActMan'; const ACCF_DISABLED = $10000000; // action disabled ACCF_EXPORT = $08000000; // action to export ACCF_VOLATILE = $04000000; // don't save in DB ACCF_IMPORTED = ACCF_EXPORT; ACCF_FLAGS = ACCF_DISABLED or ACCF_EXPORT or ACCF_IMPORTED or ACCF_VOLATILE; ACCF_OVERLOAD = $01000000; // imported action overwrite old ACCF_ID = $02000000; // for MS_ACT_SELECT, lParam is ID (else name) ACCF_CLEAR = $01000000; // clear other flags, else - set type pChain = ^tChain; tChain = record descr:pWideChar; id :dword; flags:dword; // ACCF_* flags order:dword; end; const { wParam - 0 lParam - address of destination list variable (address of pointer to tChain) if lParam=0, return just count of elements Return - count of elements Notes: first 4 bytes = size of TChain structure (to add new fields in future) } MS_ACT_GETLIST:PAnsiChar = 'Actions/GetList'; { wParam - 0 lParam - list address (pointer to data returned by MS_ACT_GETLIST) } MS_ACT_FREELIST:PAnsiChar = 'Actions/FreeList'; { wParam - id: dword lParam - parameter } MS_ACT_RUNBYID :PAnsiChar = 'Actions/RunById'; { wParam - unicode action name lParam - parameter } MS_ACT_RUNBYNAME:PAnsiChar = 'Actions/RunByName'; { Starts action with 2 parameters wParam: 0 lParam: pointer to TAct_Param } MS_ACT_RUNPARAMS:PAnsiChar = 'Actions/RunWithParams'; const ACTP_BYNAME = 1; ACTP_WAIT = 2; type pAct_Param = ^tAct_Param; tAct_Param = record flags :dword; // ACTP_* Id :uint_ptr; // Id or name wParam:WPARAM; lParam:LPARAM; end; const ACTM_NEW = $00000001; ACTM_DELETE = $00000002; ACTM_RELOAD = $00000004; ACTM_RENAME = $00000008; ACTM_SORT = $00000010; ACTM_ACT = $10000000; // do not check, internal ACTM_ACTS = $20000000; // do not check, internal ACTM_LOADED = $80000000; { Event: action group list was changed: some was added or deleted wParam - set of ACTM_* flags lParam - 0 } ME_ACT_CHANGED:PAnsiChar = 'Actions/Changed'; ACIO_EXPORT = $00000001; // export, else - import ACIO_APPEND = $00000002; // append file on export ACIO_ASKEXIST = $00000004; // ask, if action exists on import ACIO_SELECTED = $00000008; // export selected actions only { wParam - ACIO_* flags lParam - Unicode file name Return - true, if totally succesful } MS_ACT_INOUT:PAnsiChar = 'Actions/ImpExp'; { Event: Export actions wParam - ACIO_* flags lParam - unicode filename } ME_ACT_INOUT:PAnsiChar = 'Actions/InOut'; { Select/unselect specified action wParam - set of ACCF_* consts lParam - unicode action name / number Return - -1 if unsuccesful } MS_ACT_SELECT:PAnsiChar = 'Actions/Select'; { Event: Action started/finished wParam - Action status: 0 - started, 1 - finished lParam - action id } ME_ACT_ACTION:PAnsiChar = 'Actions/Action'; //----- Scheduling part services ----- const { Enable or disable tasks wParam - 1/0 (enable/disable) lParam - unicode task name Note - works for all tasks with same started name } MS_ACT_TASKENABLE:PAnsiChar = 'Actions/TaskEnable'; { Delete task wParam - 0 lParam - unicode task name Note - works for all tasks with same started name } MS_ACT_TASKDELETE:PAnsiChar = 'Actions/TaskDelete'; { Set task repeat count wParam - repeat count lParam - unicode task name Return - old repeat count value Note - works for all tasks with same started name } MS_ACT_TASKCOUNT:PAnsiChar = 'Actions/TaskCount'; { Event for task start wParam - counter of call (from 0 to repeat count) lParam - unicode task name } ME_ACT_BELL:PAnsiChar = 'Actions/Bell'; {$ENDIF}