00001 // -*- c++ -*- 00002 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 00003 00004 // Oscl Registry Client 00005 00006 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 00007 00019 #ifndef OSCL_REGISTRY_CLIENT_H_INCLUDED 00020 #define OSCL_REGISTRY_CLIENT_H_INCLUDED 00021 00022 #ifndef OSCL_REGISTRY_TYPES_H_INCLUDED 00023 #include "oscl_registry_types.h" 00024 #endif 00025 00026 #ifndef OSCL_MEM_H_INCLUDED 00027 #include "oscl_mem.h" 00028 #endif 00029 00030 #ifndef OSCL_STRING_H_INCLUDED 00031 #include "oscl_string.h" 00032 #endif 00033 00034 class OsclRegistryClientImpl; 00035 class OsclRegistryClientTlsImpl; 00036 00037 class OsclRegistryClient : public HeapBase 00038 { 00039 public: 00040 OSCL_IMPORT_REF OsclRegistryClient(); 00041 OSCL_IMPORT_REF ~OsclRegistryClient(); 00042 00048 OSCL_IMPORT_REF int32 Connect(bool aPerThread = false); 00049 00058 OSCL_IMPORT_REF int32 Register(OSCL_String& aComponentID, OsclComponentFactory aFactory); 00059 00064 OSCL_IMPORT_REF int32 UnRegister(OSCL_String& aComponentID); 00065 00070 OSCL_IMPORT_REF void Close(); 00071 00072 private: 00073 OsclRegistryClientImpl* iGlobalImpl; 00074 OsclRegistryClientTlsImpl* iTlsImpl; 00075 00076 }; 00077 00078 00079 #endif //OSCL_REGISTRY_CLIENT_H_INCLUDED 00080