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

SequenceRequest.cpp

00001 #include "RequestException.h"
00002 #include "SequenceRequest.h"
00003 #include "CalibrationController.h"
00004 #include "TestRequest.h"
00005 
00006 namespace SctCalibrationController {
00007 namespace Ipc {
00008     
00009 SequenceRequestImpl::SequenceRequestImpl() : IPCCallback(&CalibrationController::getServer()) {
00010 }
00011 
00012 ilu_T_CString SequenceRequestImpl::startSequence (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_SctApi * api) {
00013     cout << "SequenceRequestImpl::startSequenece" << endl;
00014     char* str = new char[0];
00015     return str;
00016 }
00017 
00018 Sct_CalibrationController_T_TestRequest * SequenceRequestImpl::getNextTest (Sct_CalibrationControllerStatus *_status, ilu_Cardinal index) {
00019     return 0;
00020 }
00021 
00022 void SequenceRequestImpl::endSequence (Sct_CalibrationControllerStatus *_status) {
00023 }
00024 
00025 SequenceRequestAdapter::SequenceRequestAdapter(Sct_CalibrationController_T_SequenceRequest* req) : request(req) {
00026 }
00027 
00028 string SequenceRequestAdapter::startSequence(Sct_SctApi_T_SctApi& api) {
00029     cout << "SequenceRequestAdapter::startSequence "<<endl;
00030     Sct_CalibrationControllerStatus status;
00031     char* str = 0;
00032     str = request->startSequence(&status, &api);
00033     if (status.returnCode != 0) 
00034     throw RequestException(status.returnCode, "SequenceRequestAdapter::startSequence failed", __FILE__, __LINE__);    
00035     
00036     string st = str;
00037     delete [] str;
00038     return st;
00039 }
00040 
00041 TestRequest* SequenceRequestAdapter::getNextTest(unsigned long index) {
00042     Sct_CalibrationControllerStatus status;
00043     Sct_CalibrationController_T_TestRequest* tr = request->getNextTest(&status, index);    
00044     
00045     if (status.returnCode != 0) 
00046     throw RequestException(status.returnCode, "SequenceRequestAdapter::getNextTest failed", __FILE__, __LINE__);    
00047     
00048     if (tr == 0) return 0;
00049     TestRequest* ptr = dynamic_cast<TestRequest*>(tr);
00050     if (ptr != 0) return ptr;
00051     else return new TestRequestAdapter(tr);
00052 }
00053 
00054 void SequenceRequestAdapter::endSequence() {
00055     Sct_CalibrationControllerStatus status;
00056     request->endSequence(&status);
00057     if (status.returnCode != 0) 
00058     throw RequestException(status.returnCode, "SequenceRequestAdapter::endSequence failed", __FILE__, __LINE__);        
00059 }
00060 
00061 
00062 }
00063 }

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