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

ProxyClientWrapperFactory.h

Go to the documentation of this file.
00001 #ifndef PROXYCLIENTWRAPPERFACTORY_H 00002 #define PROXYCLIENTWRAPPERFACTORY_H 00003 00004 #include "MNString.h" 00005 #include "ProxyClientWrapper.h" 00006 #include "RTSPProxySession.h" 00007 #include <map> 00008 00009 class ServerSideReflectorGM; 00014 class ProxyClientWrapperFactory 00015 { 00016 private: 00017 static ProxyClientWrapperFactory* _instance; 00018 std::multimap<MNString, ProxyClientWrapper*> _reflectingSessions; 00019 std::map<RTSPProxySession*, ProxyClientWrapper*> _nonReflectingSessions; 00020 00021 00022 protected: 00023 ProxyClientWrapperFactory(); 00024 00025 public: 00026 static ProxyClientWrapperFactory* getInstance(); 00027 virtual ~ProxyClientWrapperFactory(); 00028 00033 ProxyClientWrapper* getProxyClientWrapper( RTSPProxySession* session, MNString url, 00034 MNSelector& selector, ProxyServer* proxyServer, 00035 bool dynReflection); 00036 00040 ProxyClientWrapper* getDynReflectionProxyClient(RTSPProxySession* session, MNString url, 00041 MNSelector& selector, ProxyServer* proxyServer, 00042 int presentationTime, bool& isNew); 00043 00045 ProxyClientWrapper* getAssociatedProxyClientWrapper(ProxyClient* pc); 00046 00051 void releaseProxyClientWrapper(ProxyClientWrapper* pcw); 00052 00054 unsigned int getSessionMemberCount(MNString url); 00055 00056 private: 00057 ProxyClientWrapper* getProxyClientWrapperWithTime(ProxyClientWrapper* oldPcw, MNString& url, int presentationTime); 00058 bool isPresentationAtThatTime(ProxyClientWrapper* pcw, int presentationTime); 00059 }; 00060 00061 #endif

Generated on Sun Mar 6 13:35:49 2005 for Komssys by doxygen 1.3.8