Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

ScanRequest.cpp

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 }

Generated on Thu Jul 15 09:50:52 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5