diff options
Diffstat (limited to 'plugins/ExternalAPI/delphi/m_actman.inc')
| -rw-r--r-- | plugins/ExternalAPI/delphi/m_actman.inc | 158 | 
1 files changed, 158 insertions, 0 deletions
diff --git a/plugins/ExternalAPI/delphi/m_actman.inc b/plugins/ExternalAPI/delphi/m_actman.inc new file mode 100644 index 0000000000..53344e2990 --- /dev/null +++ b/plugins/ExternalAPI/delphi/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}
  | 
