From 864081102a5f252415f41950b3039a896b4ae9c5 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Mon, 8 Oct 2012 18:43:29 +0000 Subject: Awkwars's plugins - welcome to our trunk git-svn-id: http://svn.miranda-ng.org/main/trunk@1822 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Actman/m_actman.inc | 158 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 plugins/Actman/m_actman.inc (limited to 'plugins/Actman/m_actman.inc') diff --git a/plugins/Actman/m_actman.inc b/plugins/Actman/m_actman.inc new file mode 100644 index 0000000000..53344e2990 --- /dev/null +++ b/plugins/Actman/m_actman.inc @@ -0,0 +1,158 @@ +{$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} -- cgit v1.2.3