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 CONSUMERFACTORYIMPL_H 00015 #define CONSUMERFACTORYIMPL_H 00016 #include "rgma/ConsumerFactory.h" 00017 #include "rgma/TimeInterval.h" 00018 #include "rgma/QueryProperties.h" 00019 #include "rgma/Consumer.h" 00020 #include "rgma/StringList.h" 00021 #include "rgma/RemoteException.h" 00022 #include "rgma/RGMAException.h" 00023 #include "rgma/UnknownResourceException.h" 00024 #include "rgma/ResourceEndpoint.h" 00025 #include <string> 00026 00027 using glite::rgma::ConsumerFactory; 00028 using glite::rgma::Consumer; 00029 using glite::rgma::StringList; 00030 using glite::rgma::TimeInterval; 00031 using glite::rgma::ResourceEndpoint; 00032 using glite::rgma::UnknownResourceException; 00033 using glite::rgma::QueryProperties; 00034 using glite::rgma::RemoteException; 00035 using glite::rgma::RGMAException; 00036 00037 namespace rgma 00038 { 00039 namespace impl 00040 { 00046 class ConsumerFactoryImpl : virtual public ConsumerFactory 00047 { 00048 public: 00049 00050 ConsumerFactoryImpl(); 00051 virtual ~ConsumerFactoryImpl(); 00070 Consumer* createConsumer(TimeInterval terminationInterval, 00071 std::string selectStatement, QueryProperties queryProperties) 00072 throw(RemoteException, RGMAException); 00081 Consumer* reconnectConsumer(ResourceEndpoint& resourceEndpoint) 00082 throw(RGMAException, RemoteException, UnknownResourceException); 00083 }; 00084 } 00085 } 00086 #endif // CONSUMERFACTORYIMPL_H