Back to index

nordugrid-arc-nox  1.1.0~rc6
arex2.h
Go to the documentation of this file.
00001 #ifndef __ARC_AREX2_H__
00002 #define __ARC_AREX2_H__
00003 
00004 #include <arc/message/Service.h>
00005 #include <arc/delegation/DelegationInterface.h>
00006 #include <arc/infosys/InformationInterface.h>
00007 
00008 namespace ARex2 {
00009 
00010 class ARex2Service: public Arc::Service {
00011     protected:
00012         Arc::NS ns_;
00013         Arc::Logger logger_;
00014         Arc::DelegationContainerSOAP delegations_;
00015         Arc::InformationContainer infodoc_;
00016         // BES Interface
00017         Arc::MCC_Status CreateActivity(Arc::XMLNode in, Arc::XMLNode out);
00018         Arc::MCC_Status GetActivityStatuses(Arc::XMLNode in, Arc::XMLNode out);
00019         Arc::MCC_Status TerminateActivities(Arc::XMLNode in, Arc::XMLNode out);
00020         
00021         Arc::MCC_Status GetFactoryAttributesDocument(Arc::XMLNode in, 
00022                                                      Arc::XMLNode out);
00023         Arc::MCC_Status StopAcceptingNewActivities(Arc::XMLNode in, 
00024                                                    Arc::XMLNode out);
00025         Arc::MCC_Status StartAcceptingNewActivities(Arc::XMLNode in, 
00026                                                     Arc::XMLNode out);
00027         Arc::MCC_Status ChangeActivityStatus(Arc::XMLNode in, 
00028                                              Arc::XMLNode out);
00029         // WS-Propoerty Interface
00030         Arc::MCC_Status GetActivityDocuments(Arc::XMLNode in, 
00031                                              Arc::XMLNode out);
00032         // Fault handlers
00033         Arc::MCC_Status make_response(Arc::Message& outmsg);
00034         Arc::MCC_Status make_fault(Arc::Message& outmsg);
00035         Arc::MCC_Status make_soap_fault(Arc::Message& outmsg);
00036     public:
00037         ARex2Service(Arc::Config *cfg);
00038         virtual ~ARex2Service(void);
00039         virtual Arc::MCC_Status process(Arc::Message& inmsg,
00040                                         Arc::Message& outmsg);
00041         void InformationCollector(void);
00042 }; // class ARex2Service
00043 
00044 } // namespace ARex2
00045 
00046 #endif
00047