Main Page   Modules   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

oscl_registry_client_impl.h

Go to the documentation of this file.
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 

OSCL API
Posting Version: OPENCORE_20090310