OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimPropertyInterfaceRegistry.h
Go to the documentation of this file.
1 #ifndef ossimPropertyInterfaceRegistry_HEADER
2 #define ossimPropertyInterfaceRegistry_HEADER
4 
7 
8 #include <ossim/base/ossimRtti.h>
9 
10 #include <vector>
11 using namespace std;
12 
14 {
15 public:
17 
18  static ossimPropertyInterfaceRegistry* instance();
19 
20  virtual ossimPropertyInterface* createInterface( const ossimObject* obj ) const;
21 
25  virtual ossimObject* createObject(const ossimString& typeName)const;
26 
30  virtual ossimObject* createObject(const ossimKeywordlist& kwl,
31  const char* prefix=0)const;
32 
38  virtual void getTypeNameList(std::vector<ossimString>& typeList)const;
39 
40  bool addFactory( ossimPropertyInterfaceFactory* factory );
41  bool registerFactory(ossimPropertyInterfaceFactory* factory);
42 protected:
45  {}
46 
48  :ossimObjectFactory(rhs)
49  {}
50  void operator =(const ossimPropertyInterfaceRegistry&){}
52  vector<ossimPropertyInterfaceFactory*> theFactoryList;
53 
55 };
56 
57 extern "C"
58 {
60 }
61 #endif
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
OSSIMDLLEXPORT void * ossimPropertyInterfaceRegistryGetInstance()
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimPropertyInterfaceRegistry(const ossimPropertyInterfaceRegistry &rhs)
ossimObject * createObject(const ossimString &objectType)
Definition: kwl.cpp:64
vector< ossimPropertyInterfaceFactory * > theFactoryList
static ossimPropertyInterfaceRegistry * theInstance