00001 #include "ScanRequest.h" 00002 #include "CalibrationController.h" 00003 #include "RequestException.h" 00004 00005 namespace SctCalibrationController { 00006 namespace Ipc { 00007 00008 ScanRequestImpl::ScanRequestImpl() : IPCCallback(&CalibrationController::getServer()), 00009 m_clockByTwo(false), m_width(768){ 00010 } 00011 00012 ilu_Boolean ScanRequestImpl::isRaw(Sct_CalibrationControllerStatus *_status) { 00013 return isRaw(); 00014 } 00015 00016 ilu_Boolean ScanRequestImpl::clockByTwo(Sct_CalibrationControllerStatus *_status) { 00017 return clockByTwo(); 00018 } 00019 00020 ilu_Boolean ScanRequestImpl::clockByTwo() { 00021 return m_clockByTwo; 00022 } 00023 00024 long ScanRequestImpl::width() { 00025 return m_width; 00026 } 00027 00028 void ScanRequestImpl::setWidth(long value) { 00029 m_width=value; 00030 } 00031 00032 long ScanRequestImpl::width(Sct_CalibrationControllerStatus *_status) { 00033 return width(); 00034 } 00035 00036 void ScanRequestImpl::setWidth(Sct_CalibrationControllerStatus *_status, long value) { 00037 setWidth(value); 00038 } 00039 00040 void ScanRequestImpl::setClockByTwo(Sct_CalibrationControllerStatus *_status, ilu_Boolean value) { 00041 setClockByTwo(value); 00042 } 00043 00044 void ScanRequestImpl::setClockByTwo(ilu_Boolean value) { 00045 m_clockByTwo=value; 00046 } 00047 00048 ilu_Boolean ScanRequestImpl:: configureModules(Sct_CalibrationControllerStatus *_status){ 00049 return configureModules(); 00050 } 00051 00052 ilu_Boolean ScanRequestImpl::configureModules(){ 00053 return false; 00054 } 00055 00056 long ScanRequestImpl::delay(Sct_CalibrationControllerStatus *_status){ 00057 return delay(); 00058 } 00059 00060 long ScanRequestImpl::delay(){ 00061 return 1; 00062 } 00063 00064 Sct_SctApi_T_Scan* ScanRequestImpl::getScan(){ 00065 m_scan->incRef(); 00066 return m_scan; 00067 } 00068 00069 Sct_SctApi_T_Scan* ScanRequestImpl::getScan(Sct_CalibrationControllerStatus *_status){ 00070 return getScan(); 00071 } 00072 00073 void ScanRequestImpl::setScan(Sct_SctApi_T_Scan* scan){ 00074 m_scan=scan; 00075 } 00076 00077 ilu_Boolean ScanRequestImpl::isRaw(){ 00078 return false; 00079 } 00080 00081 void ScanRequestImpl::setScan(Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_Scan* scan){ 00082 setScan(scan); 00083 } 00084 00085 ScanRequestAdapter::ScanRequestAdapter(Sct_CalibrationController_T_ScanRequest* req) : request(req) { 00086 } 00087 00088 ilu_Boolean ScanRequestAdapter::configureModules() { 00089 Sct_CalibrationControllerStatus status; 00090 ilu_Boolean config = request->configureModules(&status); 00091 if (status.returnCode != 0) 00092 throw RequestException(status.returnCode, "ScanRequestAdapter::configureModules failed", __FILE__, __LINE__); 00093 return config; 00094 } 00095 00096 ilu_Boolean ScanRequestAdapter::clockByTwo() { 00097 Sct_CalibrationControllerStatus status; 00098 ilu_Boolean config = request->clockByTwo(&status); 00099 if (status.returnCode != 0) 00100 throw RequestException(status.returnCode, "ScanRequestAdapter::clockByTwo failed", __FILE__, __LINE__); 00101 return config; 00102 } 00103 00104 void ScanRequestAdapter::setClockByTwo(ilu_Boolean value) { 00105 Sct_CalibrationControllerStatus status; 00106 request->setClockByTwo(&status, value); 00107 if (status.returnCode != 0) 00108 throw RequestException(status.returnCode, "ScanRequestAdapter::setClockByTwo failed", __FILE__, __LINE__); 00109 } 00110 00111 ilu_Boolean ScanRequestAdapter::isRaw() { 00112 Sct_CalibrationControllerStatus status; 00113 ilu_Boolean raw = request->isRaw(&status); 00114 if (status.returnCode != 0) 00115 throw RequestException(status.returnCode, "ScanRequestAdapter::setConfigureModules failed", __FILE__, __LINE__); 00116 return raw; 00117 } 00118 00119 long ScanRequestAdapter::delay() { 00120 Sct_CalibrationControllerStatus status; 00121 long delay = request->configureModules(&status); 00122 if (status.returnCode != 0) 00123 throw RequestException(status.returnCode, "ScanRequestAdapter::setConfigureModules failed", __FILE__, __LINE__); 00124 return delay; 00125 } 00126 00127 long ScanRequestAdapter::width() { 00128 Sct_CalibrationControllerStatus status; 00129 long width = request->width(&status); 00130 if (status.returnCode != 0) 00131 throw RequestException(status.returnCode, "ScanRequestAdapter::setConfigureModules failed", __FILE__, __LINE__); 00132 return width; 00133 } 00134 00135 void ScanRequestAdapter::setWidth(long width) { 00136 Sct_CalibrationControllerStatus status; 00137 request->setWidth(&status, width); 00138 if (status.returnCode != 0) 00139 throw RequestException(status.returnCode, "ScanRequestAdapter::setConfigureModules failed", __FILE__, __LINE__); 00140 } 00141 00142 Sct_SctApi_T_Scan* ScanRequestAdapter::getScan() { 00143 Sct_CalibrationControllerStatus status; 00144 Sct_SctApi_T_Scan* scan = request->getScan(&status); 00145 if (status.returnCode != 0) 00146 throw RequestException(status.returnCode, "ScanRequestAdapter::getScan failed", __FILE__, __LINE__); 00147 return scan; 00148 } 00149 00150 void ScanRequestAdapter::setScan(Sct_SctApi_T_Scan* scan) { 00151 Sct_CalibrationControllerStatus status; 00152 request->setScan(&status, scan); 00153 if (status.returnCode != 0) 00154 throw RequestException(status.returnCode, "ScanRequestAdapter::setScan failed", __FILE__, __LINE__); 00155 } 00156 00157 } 00158 }