00001 // -*- c++ -*- 00002 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 00003 00004 // Oscl Registry Client Impl 00005 00006 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 00007 00019 #ifndef OSCL_REGISTRY_CLIENT_IMPL_H_INCLUDED 00020 #define OSCL_REGISTRY_CLIENT_IMPL_H_INCLUDED 00021 00022 #include "oscl_base.h" 00023 #include "osclconfig_proc.h" 00024 #if (OSCL_HAS_SINGLETON_SUPPORT) 00025 //1st choice implementation-- uses Oscl singleton 00026 00027 #include "oscl_registry_serv_impl_global.h" 00028 00029 //client is the same as server 00030 class OsclRegistryClientImpl: public OsclRegistryServImpl 00031 { 00032 }; 00033 00034 //access client is also the same as server 00035 class OsclRegistryAccessClientImpl: public OsclRegistryServImpl 00036 { 00037 }; 00038 00039 #else //OSCL_HAS_ ... 00040 //3rd choice implementation -- Non-functional stubs. 00041 00042 #include "oscl_vector.h" 00043 #include "oscl_string.h" 00044 #include "oscl_registry_types.h" 00045 00046 class OsclRegistryClientImpl 00047 { 00048 protected: 00049 00050 int32 Connect() 00051 { 00052 return OsclErrNotSupported; 00053 } 00054 void Close() {} 00055 00056 int32 Register(OSCL_String& , OsclComponentFactory) 00057 { 00058 return OsclErrNotSupported; 00059 } 00060 int32 UnRegister(OSCL_String&) 00061 { 00062 return OsclErrNotSupported; 00063 } 00064 00065 //for access client. 00066 OsclComponentFactory GetFactory(OSCL_String&) 00067 { 00068 return NULL; 00069 } 00070 void GetFactories(OSCL_String& , Oscl_Vector<OsclRegistryAccessElement, OsclMemAllocator>&) {} 00071 00072 friend class OsclRegistryClient; 00073 friend class OsclRegistryAccessClient; 00074 }; 00075 00076 class OsclRegistryAccessClientImpl: public OsclRegistryClientImpl 00077 { 00078 }; 00079 00080 #endif //OSCL_HAS_ ... 00081 00082 00083 //TLS-based registry 00084 #include "oscl_registry_serv_impl_tls.h" 00085 00086 //client is the same as server 00087 class OsclRegistryClientTlsImpl: public OsclRegistryServTlsImpl 00088 { 00089 }; 00090 00091 //access client is also the same as server 00092 class OsclRegistryAccessClientTlsImpl: public OsclRegistryServTlsImpl 00093 { 00094 }; 00095 00096 #endif //OSCL_REGISTRY_IMPL_H_INCLUDED 00097