31 #ifndef __ICOMMANDPROCESSSOR__ 32 #define __ICOMMANDPROCESSSOR__ 34 #include "CommandID.h" 35 #include "IPMUnknown.h" 37 #include "ICommandSequence.h" 55 enum { kDefaultIID = IID_ICOMMANDPROCESSOR };
58 virtual ErrorCode ProcessCommand(
ICommand * cmd) = 0;
59 virtual ErrorCode LWProcessCommand(
ICommand * cmd) = 0;
63 virtual ICommandSequence *BeginCommandSequence(
const char* trackingData =
nullptr) = 0;
69 virtual IAbortableCmdSeq *BeginAbortableCmdSeq(
const char* trackingData =
nullptr) = 0;
76 virtual ErrorCode RollBackCommandSequence(
const IAbortableCmdSeq *sequence, SequenceMark upToMark = SequenceMark()) = 0;
96 virtual ErrorCode ExecuteImmediate(
ICommand * cmd) = 0;
106 virtual bool16 InterceptScheduledCmd(
ICommand *cmd) = 0;
107 virtual void PartialPurge() = 0;
109 virtual ICommand*GetCurrentCommand()
const = 0;
110 virtual bool8 IsProcessorStackEmpty()
const = 0;
113 virtual void EnableCmdBehaviorMonitor(bool8 ) = 0;
114 virtual bool8 IsCmdBehaviorMonitorEnabled()
const = 0;
123 #define kInterfaceSnapshotTrace "AutoUndo Trace" 125 #endif // __ICOMMANDPROCESSSOR__