00001
00002
00003
00004
00005
00008
00009 #ifndef lgrPlaybackCommandFactory_H_
00010 #define lgrPlaybackCommandFactory_H_
00011
00012 #include "lgrCore.h"
00013 #include "lgrCommand.h"
00014
00015 class DtString;
00016
00017 namespace MAKLogger
00018 {
00019
00020 class DtCommandDefinition;
00021
00024 class DT_DLL_LGRCORE DtLgrPlaybackCommandFactory
00025 {
00026 private:
00027 DtLgrPlaybackCommandFactory();
00028
00029 public:
00031 static const DtLgrCommandType theCommandType;
00032
00033 protected:
00035 static const DtLgrCommandId Command_FullState = 3;
00036
00037 public:
00038
00042
00044 DT_FACTORY_COMMAND_EXT(1,OpenFile,(const DtString& filename, bool constructFilePathAndName),
00045 (const DtCommand& command,DtString& filename, bool& constructFilePathAndName))
00046
00047
00048
00049 DT_FACTORY_COMMAND_EXT(2,CloseFile,(),(DtCommand& command))
00050
00051
00052
00053 DT_FACTORY_COMMAND_EXT(3,SaveFile,(),(DtCommand& command))
00054
00055
00056 DT_FACTORY_COMMAND_EXT(4,SaveFileAs,(const DtString& filename),
00057 (const DtCommand& command,DtString& filename))
00058
00059
00060
00061 DT_FACTORY_COMMAND_EXT(5,Revert,(),(const DtCommand& command))
00062
00063
00064 DT_FACTORY_COMMAND_EXT(6,SetBackupOnSave,(bool backup),
00065 (const DtCommand& command,bool& backup))
00066
00067
00068
00069 DT_FACTORY_COMMAND_EXT(10,Play,(),(DtCommand& command))
00070
00071
00072
00073 DT_FACTORY_COMMAND_EXT(11,Stop,(),(DtCommand& command))
00074
00075
00076
00077 DT_FACTORY_COMMAND_EXT(12,Restart,(),(DtCommand& command))
00078
00079
00080
00081 DT_FACTORY_COMMAND_EXT(13,PlayPause,(),(DtCommand& command))
00082
00083
00084 DT_FACTORY_COMMAND_EXT(14,SetLoopAtEnd,(bool enable),
00085 (const DtCommand& command,bool& enable))
00086
00087
00088 DT_FACTORY_COMMAND_EXT(16,SetPlayOnLoad,(bool play),
00089 (const DtCommand& command,bool& play))
00090
00091
00092 DT_FACTORY_COMMAND_EXT(20,SetPlaybackSpeed,(double speed, bool skipping),
00093 (const DtCommand& command,double& speed, bool& skipping))
00094
00095
00096 DT_FACTORY_COMMAND_EXT(21,SetCurrentTime,(DtAbsoluteTime time),
00097 (const DtCommand& command,DtAbsoluteTime& time))
00098
00099
00100
00101 DT_FACTORY_COMMAND_EXT(22,Pause,(),(DtCommand& command))
00102
00103
00104
00105 DT_FACTORY_COMMAND_EXT(23,Unpause,(),(DtCommand& command))
00106
00107
00108 DT_FACTORY_COMMAND_EXT(24,SetStartStopTimes,(DtAbsoluteTime startTime,
00109 DtAbsoluteTime stopTime),(const DtCommand& command,
00110 DtAbsoluteTime& startTime,DtAbsoluteTime& stopTime))
00111
00112
00113 DT_FACTORY_COMMAND_EXT(25,SkipTime,(DtRelativeTime time, bool skipForward),
00114 (const DtCommand& command,DtRelativeTime& time, bool& skipForward))
00115
00116
00117 DT_FACTORY_COMMAND_EXT(26,SetSkippingPlaybackThreshold,(double skippingPlaybackThreshold),
00118 (const DtCommand& command, double& skippingPlaybackThreshold))
00119
00120
00121
00122
00123
00124
00125
00127 DT_FACTORY_RESPONSE_EXT(-1,FileOpened,
00128 (const DtString& filename, DtAbsoluteTime firstTime,
00129 DtAbsoluteTime lastTime),
00130 (DtResponse response, DtString& filename,DtAbsoluteTime& firstTime,
00131 DtAbsoluteTime& lastTime))
00132
00133
00134 DT_FACTORY_RESPONSE_EXT(-2,FileClosed,
00135 (),
00136 (DtResponse response))
00137
00138 DT_FACTORY_RESPONSE_EXT(-3,FileDoesNotExist,
00139 (const DtString& filename),
00140 (DtResponse response, DtString& filename))
00141
00142 DT_FACTORY_RESPONSE_EXT(-4,FileIncomplete,
00143 (const DtString& filename, bool isIncomplete),
00144 (DtResponse response, DtString& filename, bool& isIncomplete))
00145
00146 DT_FACTORY_RESPONSE_EXT(-5,FileInvalid,
00147 (const DtString& filename, const DtString& reason),
00148 (DtResponse response, DtString& filename, DtString& reason))
00149
00150 DT_FACTORY_RESPONSE_EXT(-6,FileChanged,
00151 (),
00152 (DtResponse))
00153
00154 DT_FACTORY_RESPONSE_EXT(-7,FileSaved,
00155 (),
00156 (DtResponse))
00157
00158 DT_FACTORY_RESPONSE_EXT(-8, FileFormatCurrent,
00159 (bool current),
00160 (DtResponse response,bool& current))
00161
00162 DT_FACTORY_RESPONSE_EXT(-10,PlaybackChanged,
00163 (bool currentlyPlaying),
00164 (DtResponse response, bool& currentlyPlaying))
00165
00166 DT_FACTORY_RESPONSE_EXT(-11,Restarted,(),(DtResponse))
00167
00168 DT_FACTORY_RESPONSE_EXT(-12,LoopAtEndChanged,
00169 (bool enabled),
00170 (DtResponse response, bool& enabled))
00171
00172 DT_FACTORY_RESPONSE_EXT(-13,PlayOnLoadChanged,
00173 (bool play),
00174 (DtResponse response,bool& play))
00175
00176 DT_FACTORY_RESPONSE_EXT(-20,PlaybackSpeedChanged,
00177 (double speed),
00178 (DtResponse response,double& speed))
00179
00180 DT_FACTORY_RESPONSE_EXT(-21,PausedChanged,
00181 (bool paused),
00182 (DtResponse response,bool& paused))
00183
00184 DT_FACTORY_RESPONSE_EXT(-22,SkippingPlaybackChanged,
00185 (bool skippingPlayback),
00186 (DtResponse response,bool& skippingPlayback))
00187
00188 DT_FACTORY_RESPONSE_EXT(-23,SkippingPlaybackThresholdChanged,
00189 (double skippingPlaybackThreshold),
00190 (DtResponse response, double& skippingPlaybackThreshold))
00191
00192 DT_FACTORY_RESPONSE_EXT(-24,JumpTimeChanged,
00193 (DtAbsoluteTime jumpTime),
00194 (DtResponse response, DtAbsoluteTime& jumpTime))
00195
00196 public:
00197
00199 static const char* commandToString(int commandId);
00200
00202 static const char* responseToString(int responseId);
00203
00204 };
00205
00206 }
00207
00208 #endif