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 // 00011 #pragma once 00012 #include "ippdme/Command/ippScanOnLineCommand.h" 00013 #include "ippdme/Command/ippOnScanReportCommand.h" 00014 #include "ippdme/Misc/ippOnScanReportBuilder.h" 00015 #include "ippdme/Executor/ippExecutor.h" 00016 #include "ippdme/assert.h" 00017 00018 // ippMockExecutor: a fake executor class useful for testing 00019 // this Mock executor simply executes a ScanOnLine command 00020 // and produces 10 fakes ScanReport response 00021 // 00022 class ippMockExecutor : public ippExecutor 00023 { 00024 int _g_count; 00025 ippOnScanReportCommandPtr _OnScanReportCmd; 00026 int _GetDMEVersionCounter; // number of time the GetDMEVersion has been called since the last StartSession 00027 00028 public: 00029 ippMockExecutor(); 00030 int GetDMEVersionCounter() const { 00031 return _GetDMEVersionCounter; 00032 } 00033 virtual bool readyToProcessSlowQueueCommand() const; 00034 virtual void executeAbortE(); 00035 virtual void AbortCurrentCommand(); 00036 00037 virtual ippResponseList checkStatus(); 00038 virtual void executeStartSession(); 00039 virtual void executeEndSession(); 00040 virtual void executeScanOnLine(); 00041 virtual void executeGetDMEVersion(); 00042 virtual void executeIsHomed(); 00043 00044 virtual void executeAlignPart() {IPP_ASSERT_FAIL("Not supported");} 00045 virtual void executeAlignTool() {IPP_ASSERT_FAIL("Not supported");} 00046 virtual void executeCenterPart() {IPP_ASSERT_FAIL("Not supported");} 00047 virtual void executeChangeTool() {IPP_ASSERT_FAIL("Not supported");} 00048 virtual void executeClearAllErrors() {IPP_ASSERT_FAIL("Not supported");} 00049 virtual void executeDisableUser() {IPP_ASSERT_FAIL("Not supported");} 00050 virtual void executeEnableUser() {IPP_ASSERT_FAIL("Not supported");} 00051 00052 00053 virtual void executeEnumAllProp() {IPP_ASSERT_FAIL("Not supported");} 00054 virtual void executeEnumProp() {IPP_ASSERT_FAIL("Not supported");} 00055 virtual void executeEnumTools() {IPP_ASSERT_FAIL("Not supported");} 00056 virtual void executeFindTool() {IPP_ASSERT_FAIL("Not supported");} 00057 virtual void executeGet() {IPP_ASSERT_FAIL("Not supported");} 00058 virtual void executeGetChangeToolAction(){IPP_ASSERT_FAIL("Not supported");} 00059 virtual void executeGetCoordSystem() {IPP_ASSERT_FAIL("Not supported");} 00060 virtual void executeGetCsyTransformation(){IPP_ASSERT_FAIL("Not supported");} 00061 00062 00063 virtual void executeGetErrorInfo() {IPP_ASSERT_FAIL("Not supported");} 00064 virtual void executeGetErrStatusE() {IPP_ASSERT_FAIL("Not supported");} 00065 virtual void executeGetMachineClass() {IPP_ASSERT_FAIL("Not supported");} 00066 virtual void executeGetProp() {IPP_ASSERT_FAIL("Not supported");} 00067 virtual void executeGetPropE() {IPP_ASSERT_FAIL("Not supported");} 00068 virtual void executeGetXtdErrStatus() {IPP_ASSERT_FAIL("Not supported");} 00069 virtual void executeGoTo() {IPP_ASSERT_FAIL("Not supported");} 00070 virtual void executeHome() {IPP_ASSERT_FAIL("Not supported");} 00071 //xx virtual void executeIsHomed() {IPP_ASSERT_FAIL("Not supported");} 00072 virtual void executeIsUserEnabled() {IPP_ASSERT_FAIL("Not supported");} 00073 virtual void executeLockAxis() {IPP_ASSERT_FAIL("Not supported");} 00074 virtual void executeOnMoveReportE() {IPP_ASSERT_FAIL("Not supported");} 00075 virtual void executeOnPtMeasReport() {IPP_ASSERT_FAIL("Not supported");} 00076 virtual void executeOnScanReport() {IPP_ASSERT_FAIL("Not supported");} 00077 virtual void executePtMeas() {IPP_ASSERT_FAIL("Not supported");} 00078 virtual void executeReQualify() {IPP_ASSERT_FAIL("Not supported");} 00079 virtual void executeScanInCylEndIsPlane() {IPP_ASSERT_FAIL("Not supported");} 00080 virtual void executeScanInCylEndIsSphere() {IPP_ASSERT_FAIL("Not supported");} 00081 virtual void executeScanInPlaneEndIsCyl() {IPP_ASSERT_FAIL("Not supported");} 00082 virtual void executeScanInPlaneEndIsPlane() {IPP_ASSERT_FAIL("Not supported");} 00083 virtual void executeScanInPlaneEndIsSphere(){IPP_ASSERT_FAIL("Not supported");} 00084 virtual void executeScanOnCircle() {IPP_ASSERT_FAIL("Not supported");} 00085 virtual void executeScanOnCircleHint() {IPP_ASSERT_FAIL("Not supported");} 00086 virtual void executeScanOnLineHint() {IPP_ASSERT_FAIL("Not supported");} 00087 virtual void executeScanUnknownHint() {IPP_ASSERT_FAIL("Not supported");} 00088 virtual void executeScanUnknownDensity() {IPP_ASSERT_FAIL("Not supported");} 00089 virtual void executeSetCoordSystem() {IPP_ASSERT_FAIL("Not supported");} 00090 virtual void executeSetCsyTransformation() {IPP_ASSERT_FAIL("Not supported");} 00091 virtual void executeSetProp() {IPP_ASSERT_FAIL("Not supported");} 00092 virtual void executeSetTool() {IPP_ASSERT_FAIL("Not supported");} 00093 00094 00095 virtual void executeStopAllDaemons() {IPP_ASSERT_FAIL("Not supported");} 00096 virtual void executeStopDaemon() {IPP_ASSERT_FAIL("Not supported");} 00097 virtual void executeTiltCenterPart() {IPP_ASSERT_FAIL("Not supported");} 00098 virtual void executeTiltPart() {IPP_ASSERT_FAIL("Not supported");} 00099 00100 virtual void executeEnumToolCollection() {IPP_ASSERT_FAIL("Not supported");} 00101 virtual void executeEnumAllToolCollections() {IPP_ASSERT_FAIL("Not supported");} 00102 virtual void executeOpenToolCollection() {IPP_ASSERT_FAIL("Not supported");} 00103 virtual void executeSaveActiveCoordSystem() {IPP_ASSERT_FAIL("Not supported");} 00104 virtual void executeLoadCoordSystem() {IPP_ASSERT_FAIL("Not supported");} 00105 virtual void executeDeleteCoordSystem() {IPP_ASSERT_FAIL("Not supported");} 00106 virtual void executeEnumCoordSystems() {IPP_ASSERT_FAIL("Not supported");} 00107 virtual void executeGetNamedCsyTransformation() {IPP_ASSERT_FAIL("Not supported");} 00108 virtual void executeSaveNamedCsyTransformation(){IPP_ASSERT_FAIL("Not supported");} 00109 virtual void executeScanOnCurveDensity() {IPP_ASSERT_FAIL("Not supported");} 00110 virtual void executeScanOnCurveHint() {IPP_ASSERT_FAIL("Not supported");} 00111 virtual void executeScanOnCurve() {IPP_ASSERT_FAIL("Not supported");} 00112 virtual void executeScanOnHelix() {IPP_ASSERT_FAIL("Not supported");} 00113 virtual void executePtMeasSelfCenter() {IPP_ASSERT_FAIL("Not supported");} 00114 virtual void executePtMeasSelfCenterLocked() {IPP_ASSERT_FAIL("Not supported");} 00115 00116 private: 00117 ippResponsePtr ProduceFakeScanReport(int tagNum,double X,double Y,double Z); 00118 00119 }; 00120 00121