util/dispatch/DispatchManager.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      DispatchManager.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 Comment:   Manager to retrieve the correct delivery protocol
00006 ------------------------------------------------------------------------------*/
00007 
00017 #ifndef _UTIL_DISPATCH_DELIVERYMANAGER_H
00018 #define _UTIL_DISPATCH_DELIVERYMANAGER_H
00019 
00020 #include <util/xmlBlasterDef.h>
00021 #include <util/XmlBlasterException.h>
00022 #include <client/protocol/I_XmlBlasterConnection.h>
00023 #include <util/dispatch/ConnectionsHandler.h>
00024 #include <string>
00025 // #include <map>
00026 
00027 
00028 
00029 namespace org { namespace xmlBlaster { namespace util { namespace dispatch {
00030 
00031 class Dll_Export DispatchManager
00032 {
00033 
00034 private:
00035    const std::string        ME;
00036    org::xmlBlaster::util::Global&             global_;
00037    org::xmlBlaster::util::I_Log&                log_;
00038 
00039 public:
00040    DispatchManager(org::xmlBlaster::util::Global& global);
00041 
00042    ~DispatchManager();
00043 
00044    org::xmlBlaster::client::protocol::I_XmlBlasterConnection& getPlugin(const std::string& instanceName, const std::string& type, const std::string& version);
00045 
00046    org::xmlBlaster::util::dispatch::ConnectionsHandler* getConnectionsHandler(const std::string& instanceName);
00047    
00048    void releasePlugin(const std::string& instanceName, const std::string& type, const std::string& version);
00049 
00050 };
00051 
00052 }}}} // namespaces
00053 
00054 #endif