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

TestRequest.cpp

Go to the documentation of this file.
00001 #include "TestRequest.h"
00002 #include "CalibrationController.h"
00003 #include "RequestException.h"
00004 
00005 namespace SctCalibrationController {
00006 namespace Ipc {
00007     
00008 TestRequestImpl::TestRequestImpl() : IPCCallback(&CalibrationController::getServer()) {
00009 }
00010 
00011 void TestRequestImpl::startTest (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_SctApi * api, ilu_T_CString * name, ilu_ShortCardinal * testVariable, ilu_Cardinal * nScans, Sct_CalibrationController_T_TestPoints testPointsData){
00012 }
00013 
00014 Sct_SctApi_T_Scan * TestRequestImpl::getNextScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal index){
00015     return 0;
00016 }
00017 
00018 ilu_Boolean TestRequestImpl::canFeedback (Sct_CalibrationControllerStatus *_status) {
00019     return false;
00020 }
00021 
00022 void TestRequestImpl::endTest (Sct_CalibrationControllerStatus *_status) {
00023 }
00024 
00025 
00026 TestRequestAdapter::TestRequestAdapter(Sct_CalibrationController_T_TestRequest* req) : request(req) {
00027 }
00028 
00029 
00030 void TestRequestAdapter::startTest(Sct_SctApi_T_SctApi& api, string& name, unsigned short& testVariable, 
00031                    unsigned long& nScans, vector<double>& testPoints) {
00032     Sct_CalibrationControllerStatus status;
00033     char* text = 0;
00034     _Sct_CalibrationController_T_TestPoints_sequence data;
00035     request->startTest(&status, &api, &text, &testVariable, &nScans, &data);
00036     if (status.returnCode != 0) 
00037     throw RequestException(status.returnCode, "TestRequestAdapter::startTest failed", __FILE__, __LINE__);
00038     name = text;
00039     for (unsigned int i = 0; i<data.Length(); ++i) {
00040     testPoints.push_back(data.Nth(i));
00041     }
00042     delete [] text;
00043 }
00044 
00045 Sct_SctApi_T_Scan* TestRequestAdapter::getNextScan(unsigned long index) {
00046     Sct_CalibrationControllerStatus status;
00047     Sct_SctApi_T_Scan* scan = request->getNextScan(&status, index);
00048     if (status.returnCode != 0) 
00049     throw RequestException(status.returnCode, "TestRequestAdapter::getNextScan failed", __FILE__, __LINE__);    
00050     return scan;
00051 }
00052 
00053 bool TestRequestAdapter::canFeedback() {
00054     Sct_CalibrationControllerStatus status;   
00055     bool can = request->canFeedback(&status);
00056     if (status.returnCode != 0) 
00057     throw RequestException(status.returnCode, "TestRequestAdapter::canFeedback failed", __FILE__, __LINE__);    
00058     return can;
00059 }
00060 
00061 void TestRequestAdapter::endTest() {
00062     Sct_CalibrationControllerStatus status;
00063     request->endTest(&status);    
00064     if (status.returnCode != 0) 
00065     throw RequestException(status.returnCode, "TestRequestAdapter::endTest failed", __FILE__, __LINE__);    
00066 }
00067 
00068     
00069 }
00070 }

Generated on Mon Dec 15 19:36:20 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3