OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimSharedPluginRegistry.h
Go to the documentation of this file.
1 #ifndef ossimSharedPluginRegistry_HEADER
2 #define ossimSharedPluginRegistry_HEADER
3 #include <iostream>
4 #include <vector>
9 
11 {
12 public:
13  virtual ~ossimSharedPluginRegistry();
14 
15  static ossimSharedPluginRegistry* instance();
16 
17  bool registerPlugin(const ossimFilename& filename, const ossimString& options="");//, bool insertFrontFlag=false);
18  bool unregisterPlugin(int idx);
19  bool unregisterPlugin(ossimPluginLibrary* plugin);
20  const ossimPluginLibrary* getPlugin(const ossimFilename& filename)const;
21  ossimPluginLibrary* getPlugin(const ossimFilename& filename);
22 
23  ossim_uint32 getIndex(const ossimPluginLibrary* lib)const;
24  ossimPluginLibrary* getPlugin(ossim_uint32 idx);
25  const ossimPluginLibrary* getPlugin(ossim_uint32 idx)const;
26  ossim_uint32 getNumberOfPlugins()const;
27 
35  bool isLoaded(const ossimFilename& filename) const;
36 
37  void printAllPluginInformation(std::ostream& out);
38 
39 protected:
42  void operator = (const ossimSharedPluginRegistry&){}
43 
44  //static ossimSharedPluginRegistry* theInstance;
45  std::vector<ossimRefPtr<ossimPluginLibrary> > theLibraryList;
46 };
47 
48 #endif
#define OSSIMDLLEXPORT
std::vector< ossimRefPtr< ossimPluginLibrary > > theLibraryList
unsigned int ossim_uint32
ossimSharedPluginRegistry(const ossimSharedPluginRegistry &)
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23