00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef EXECUTOR_H
00011 #define EXECUTOR_H
00012
00013 #include "ippdme/ippdme.h"
00014 #include "ippdme/ippErrorNameType.h"
00015 #include "ippdme/Server/ippServerQueues.h"
00016 #include "ippdme/Command/ippCommand.h"
00017 using namespace ipp;
00018
00019 class IPPDME_EXT_CLASS ippCommand;
00020
00021 class IPPDME_EXT_CLASS ippExecutor
00022 {
00023 public:
00024
00025 ippExecutor();
00026
00027
00028 virtual ~ippExecutor(){};
00029
00030 void executeCommand(ippCommandPtr CmdToCarryOut);
00031
00032 virtual ippResponseList checkStatus();
00033
00034 virtual bool readyToProcessSlowQueueCommand() const = 0;
00035
00036 virtual void resetExecutor();
00037
00038 virtual void AbortCurrentCommand();
00039
00040 protected:
00041 ippCommandPtr _currentCommand;
00042 ippResponseList _returningValues;
00043
00044 void generateCompletedResponse();
00045
00046 void generateErrorResponse(
00047 ippErrorNameType errorNum,
00048 const char * str
00049 );
00050 private:
00051
00052 virtual void executeStartSession()=0;
00053 virtual void executeEndSession()=0;
00054
00055 virtual void executeGetDMEVersion()=0;
00056 virtual void executeGetMachineClass()=0;
00057
00058 virtual void executeGetErrorInfo()=0;
00059 virtual void executeGetErrStatusE()=0;
00060 virtual void executeGetXtdErrStatus()=0;
00061
00062 virtual void executeAbortE() =0;
00063 virtual void executeAlignPart()=0;
00064 virtual void executeAlignTool()=0;
00065 virtual void executeCenterPart()=0;
00066 virtual void executeChangeTool()=0;
00067 virtual void executeClearAllErrors()=0;
00068
00069 virtual void executeDisableUser()=0;
00070 virtual void executeEnableUser()=0;
00071 virtual void executeIsUserEnabled()=0;
00072
00073 virtual void executeEnumAllProp()=0;
00074 virtual void executeEnumProp()=0;
00075
00076 virtual void executeEnumTools()=0;
00077 virtual void executeFindTool()=0;
00078 virtual void executeSetTool()=0;
00079
00080 virtual void executeEnumToolCollection()=0;
00081 virtual void executeEnumAllToolCollections()=0;
00082 virtual void executeOpenToolCollection()=0;
00083
00084 virtual void executeGet()=0;
00085 virtual void executeGetChangeToolAction()=0;
00086
00087 virtual void executeGetCoordSystem()=0;
00088 virtual void executeGetCsyTransformation()=0;
00089 virtual void executeSetCoordSystem()=0;
00090 virtual void executeSetCsyTransformation()=0;
00091 virtual void executeGetNamedCsyTransformation()=0;
00092 virtual void executeSaveNamedCsyTransformation()=0;
00093
00094 virtual void executeSaveActiveCoordSystem()=0;
00095 virtual void executeLoadCoordSystem()=0;
00096 virtual void executeDeleteCoordSystem()=0;
00097 virtual void executeEnumCoordSystems()=0;
00098
00099 virtual void executeGetProp()=0;
00100 virtual void executeGetPropE()=0;
00101 virtual void executeSetProp()=0;
00102
00103
00104
00105 virtual void executeHome()=0;
00106 virtual void executeIsHomed()=0;
00107
00108 virtual void executeLockAxis()=0;
00109 virtual void executeGoTo()=0;
00110 virtual void executePtMeas()=0;
00111 virtual void executeReQualify()=0;
00112
00113 virtual void executeScanInCylEndIsPlane()=0;
00114 virtual void executeScanInCylEndIsSphere()=0;
00115 virtual void executeScanInPlaneEndIsCyl()=0;
00116 virtual void executeScanInPlaneEndIsPlane()=0;
00117 virtual void executeScanInPlaneEndIsSphere()=0;
00118 virtual void executeScanOnCircle()=0;
00119 virtual void executeScanOnCircleHint()=0;
00120 virtual void executeScanOnLine()=0;
00121 virtual void executeScanOnLineHint()=0;
00122 virtual void executeScanUnknownHint()=0;
00123 virtual void executeScanUnknownDensity()=0;
00124 virtual void executeScanOnCurveDensity()=0;
00125 virtual void executeScanOnCurveHint()=0;
00126 virtual void executeScanOnCurve()=0;
00127 virtual void executeScanOnHelix()=0;
00128
00129
00130 virtual void executeTiltCenterPart()=0;
00131 virtual void executeTiltPart()=0;
00132
00133 virtual void executePtMeasSelfCenter()=0;
00134 virtual void executePtMeasSelfCenterLocked()=0;
00135
00136
00137 virtual void executeOnMoveReportE()=0;
00138 virtual void executeStopAllDaemons()=0;
00139 virtual void executeStopDaemon()=0;
00140 virtual void executeOnPtMeasReport()=0;
00141 virtual void executeOnScanReport()=0;
00142
00143 public:
00144
00145 virtual int DaemonCount() const;
00146 virtual void StopAllDaemons(){};
00147
00148
00149 private:
00150 ippExecutor(const ippExecutor&);
00151 void operator=(const ippExecutor&);
00152
00153 };
00154
00155
00156
00157 #endif
00158
00159
00160
00161