Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

ProducerFactoryImpl.h

00001 /*
00002  *  Copyright (c) 2004 on behalf of the EU EGEE Project:
00003  *  The European Organization for Nuclear Research (CERN),
00004  *  Istituto Nazionale di Fisica Nucleare (INFN), Italy
00005  *  Datamat Spa, Italy
00006  *  Centre National de la Recherche Scientifique (CNRS), France
00007  *  CS Systeme d'Information (CSSI), France
00008  *  Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
00009  *  Universiteit van Amsterdam (UvA), Netherlands
00010  *  University of Helsinki (UH.HIP), Finland
00011  *  University of Bergen (UiB), Norway
00012  *  Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
00013  */
00014 #ifndef PODUCERFACTORYIMPL_H
00015 #define PODUCERFACTORYIMPL_H
00016 #include "rgma/TimeInterval.h"
00017 #include "rgma/URI.h"
00018 #include "rgma/StringList.h"
00019 #include "rgma/OnDemandProducer.h"
00020 #include "rgma/SecondaryProducer.h"
00021 #include "rgma/PrimaryProducer.h"
00022 #include "rgma/ProducerFactory.h"
00023 #include "rgma/RemoteException.h"
00024 #include "rgma/RGMAException.h"
00025 #include "rgma/ProducerProperties.h"
00026 #include "rgma/ResourceEndpoint.h"
00027 #include "rgma/UnknownResourceException.h"
00028 #include "rgma/TupleStoreList.h"
00029 
00030 using glite::rgma::ProducerFactory;
00031 using glite::rgma::ProducerProperties;
00032 using glite::rgma::PrimaryProducer;
00033 using glite::rgma::SecondaryProducer;
00034 using glite::rgma::OnDemandProducer;
00035 using glite::rgma::StringList;
00036 using glite::rgma::TimeInterval;
00037 using glite::rgma::URI;
00038 using glite::rgma::RemoteException;
00039 using glite::rgma::RGMAException;
00040 using glite::rgma::ResourceEndpoint;
00041 using glite::rgma::UnknownResourceException;
00042 using glite::rgma::TupleStoreList;
00043 namespace rgma
00044 {
00045     namespace impl
00046     {
00052         class ProducerFactoryImpl: public virtual ProducerFactory
00053         {
00054             public:
00055 
00056                 ProducerFactoryImpl();
00057                 virtual ~ProducerFactoryImpl();
00076                 OnDemandProducer* createOnDemandProducer(
00077                     TimeInterval terminationInterval,
00078                     URI uri, StringList voNames)
00079                     throw (RemoteException, RGMAException);
00094                 OnDemandProducer* createOnDemandProducer(
00095                     TimeInterval terminationInterval,
00096                     URI uri)
00097                     throw (RemoteException, RGMAException);
00106                 OnDemandProducer* reconnectOnDemandProducer(ResourceEndpoint resourceEndpoint)
00107                     throw (RGMAException, RemoteException, UnknownResourceException);
00108 
00128                 PrimaryProducer* createPrimaryProducer(
00129                     TimeInterval terminationInterval, ProducerProperties producerProperties,
00130                     StringList voNames)
00131                     throw (RemoteException, RGMAException);
00132                 
00148                 PrimaryProducer* createPrimaryProducer(
00149                     TimeInterval terminationInterval, ProducerProperties producerProperties)
00150                     throw (RemoteException, RGMAException);
00159                 PrimaryProducer* reconnectPrimaryProducer(ResourceEndpoint resourceEndpoint)
00160                     throw (RGMAException, RemoteException, UnknownResourceException);
00161 
00181                 SecondaryProducer* ProducerFactoryImpl::createSecondaryProducer(
00182                     TimeInterval terminationInterval,
00183                     ProducerProperties producerProperties,
00184                     StringList voNames)
00185                     throw (RemoteException, RGMAException);
00186                  
00202                 SecondaryProducer* ProducerFactoryImpl::createSecondaryProducer(
00203                     TimeInterval terminationInterval,
00204                     ProducerProperties producerProperties)
00205                     throw (RemoteException, RGMAException);
00214                 SecondaryProducer* reconnectSecondaryProducer(ResourceEndpoint resourceEndpoint)
00215                     throw (RGMAException, RemoteException, UnknownResourceException);
00216                 
00217                 
00218         };
00219     }
00220 }
00221 #endif

Generated on Thu May 11 19:23:43 2006 for glite-rgma-api-cpp by doxygen 1.3.5