Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ippExecutor.h

Go to the documentation of this file.
00001 // 
00002 // DISCLAIMER: 
00003 //  This software was produced by the National Institute of Standards 
00004 //  and Technology (NIST), an agency of the U.S. government, and by statute is 
00005 //  not subject to copyright in the United States.  Recipients of this 
00006 //  software assume all responsibility associated with its operation,
00007 //  modification,maintenance, and subsequent redistribution. 
00008 //
00009 //  See NIST Administration Manual 4.09.07 b and Appendix I. 
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   // constructor
00025   ippExecutor();
00026 
00027   // destructor
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 // -- daemon related command
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   // --- daemon management
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 

Generated on Wed Nov 8 00:19:57 2006 for IPPDME by  doxygen 1.4.1