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

TestRequest.cpp

00001 #include "TestRequest.h"
00002 #include "CalibrationController.h"
00003 #include "RequestException.h"
00004 #include "Sct/OmniMarshalling.h"
00005 #include "Sct/SequenceUtils.h"
00006 #include "Sct/BugReport.h"
00007 
00008 namespace SctCalibrationController {
00009 namespace Ipc {
00010     
00011 TestRequestImpl::TestRequestImpl() : IPCObject<POA_Sct_CalibrationController::TestRequest>() {
00012      Sct::BugReport("BUG01", "TestRequest.cpp","ImplConstructor 1");
00013 }
00014 
00015   void TestRequestImpl::startTest (/*Sct_CalibrationControllerStatus *_status, */
00016                    Sct_SctApi::SctApiIPC_ptr api, //in
00017                    CORBA::String_out name, //out
00018                    CORBA::UShort & testVariable, //out
00019                    CORBA::ULong & nScans, //out
00020                    Sct_CalibrationController::TestPoints_out testPointsData //out
00021                                    ){
00022      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 2");
00023      
00024      std::string nameOut;
00025      unsigned short testVariableOut;
00026      unsigned long nScansOut;
00027      vector<double> testPointsOut;
00028 
00029      startTestRealImpl(api, nameOut, testVariableOut, nScansOut, testPointsOut);
00030      
00031      name = ::Sct::copyStringToCorba(nameOut);
00032      testVariable = testVariableOut;
00033      nScans = nScansOut;
00034      testPointsData = ::Sct::SequenceUtils::newSafeSequence<Sct_CalibrationController::TestPoints>(testPointsOut.size());
00035      for (unsigned int i=0; i<testPointsOut.size(); ++i) {
00036        testPointsData[i]=testPointsOut[i];
00037      };
00038      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 2.5");
00039 }
00040 
00041   Sct_CalibrationController::ScanRequest_ptr TestRequestImpl::getNextScan (/*Sct_CalibrationControllerStatus *_status, */CORBA::ULong index){
00042      Sct::BugReport("BUG01", "TestRequest.cpp","getNextScan 3");
00043      Sct_CalibrationController::ScanRequest_ptr ans = getNextScanRealImpl(index);
00044      Sct::BugReport("BUG01", "TestRequest.cpp","getNextScan 4");
00045      return ans;
00046 }
00047 
00048   CORBA::Boolean TestRequestImpl::canFeedback (/*Sct_CalibrationControllerStatus *_status*/) {
00049      Sct::BugReport("BUG01", "TestRequest.cpp","canFeedback 4");
00050     return canFeedbackRealImpl();
00051 }
00052 
00053   void TestRequestImpl::endTest (/*Sct_CalibrationControllerStatus *_status*/) {
00054      Sct::BugReport("BUG01", "TestRequest.cpp","endTest 5");
00055      endTestRealImpl();
00056      Sct::BugReport("BUG01", "TestRequest.cpp","endTest 5.5");
00057 }
00058 
00059 
00060   /*
00061   TestRequestAdapter::TestRequestAdapter(Sct_CalibrationController::TestRequest_ptr req) : 
00062     request(Sct_CalibrationController::TestRequest::_duplicate(req)) {
00063      Sct::BugReport("BUG01", "TestRequest.cpp","AdapterConstructor 6");
00064 }
00065 
00066 
00067 void TestRequestAdapter::startTest(Sct_SctApi::SctApiIPC_ptr api,
00068                    std::string& name,
00069                    unsigned short & testVariable, 
00070                    unsigned long & nScans,
00071                    vector<double>& testPoints) {
00072   //Sct_CalibrationControllerStatus status;
00073   Sct::BugReport("BUG01", "TestRequest.cpp","startTest 7");
00074   CORBA::String_var text;
00075   Sct::BugReport("BUG01", "TestRequest.cpp","startTest 7.4");
00076   //This line was just a test name = text; // delete this one!
00077   Sct::BugReport("BUG01", "TestRequest.cpp","startTest 7.6");
00078     Sct_CalibrationController::TestPoints_var data;
00079         Sct::BugReport("BUG01", "TestRequest.cpp","startTest 8");
00080  
00081     try {
00082      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 9");
00083       request->startTest(//&status, 
00084              api, text, testVariable, nScans, data);
00085      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 10");
00086     } catch (CORBA::Exception & status) {
00087      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 11");
00088     throw RequestException(status, "TestRequestAdapter::startTest failed", __FILE__, __LINE__);
00089     };
00090      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 12");
00091     name = text;
00092      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 13");
00093     for (unsigned int i = 0; i<data->length(); ++i) {
00094      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 14");
00095       testPoints.push_back(data[i]);
00096     }
00097      Sct::BugReport("BUG01", "TestRequest.cpp","startTest 15");
00098 }
00099   
00100   Sct_CalibrationController::ScanRequest_ptr TestRequestAdapter::getNextScan(unsigned long index) {
00101      Sct::BugReport("BUG01", "TestRequest.cpp","getNextScan 16");
00102     Sct_CalibrationController::ScanRequest_ptr scan;
00103     try {
00104 scan = request->getNextScan(//&status,
00105 index);
00106     } catch (const CORBA::Exception & status) {
00107       throw RequestException(status, "TestRequestAdapter::getNextScan failed", __FILE__, __LINE__);    
00108     };
00109     if (CORBA::is_nil(scan)) {
00110      Sct::BugReport("BUG01", "TestRequest.cpp","getNextScan 17");
00111       return Sct_CalibrationController::ScanRequest::_nil();
00112     };
00113     
00114     //ScanRequest* ptr=dynamic_cast<ScanRequest*>(scan);
00115     //if (ptr!=0) return ptr;
00116     //else
00117     //ScanRequestAdapter * newAdapter = new ScanRequestAdapter(scan);
00118     //#warning DONT FORGET TO MAKE ScanRequestAdapter INHERIT FROM
00119      Sct::BugReport("BUG01", "TestRequest.cpp","getNextScan 18");
00120     return scan;
00121   }
00122   
00123   bool TestRequestAdapter::canFeedback() {
00124      Sct::BugReport("BUG01", "TestRequest.cpp","canFeedback 19");
00125     try {
00126       return request->canFeedback();
00127     } catch (const CORBA::Exception & status) {
00128       throw RequestException(status, "TestRequestAdapter::canFeedback failed", __FILE__, __LINE__);    
00129     };
00130   }
00131   
00132   void TestRequestAdapter::endTest() {
00133      Sct::BugReport("BUG01", "TestRequest.cpp","endTest 20");
00134     try {
00135       request->endTest();    
00136     } catch (const CORBA::Exception & status) {
00137       throw RequestException(status, "TestRequestAdapter::endTest failed", __FILE__, __LINE__);    
00138     };
00139   }
00140 */  
00141   
00142 }
00143 }

Generated on Fri Sep 16 18:02:02 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5