OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimSqlitePluginInit.cpp
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: See top level LICENSE.txt file
4 //
5 // Author: David Burken
6 //
7 // Description: OSSIM SQLite plugin initialization
8 // code.
9 //
10 //----------------------------------------------------------------------------
11 // $Id: ossimSqlitePluginInit.cpp 19669 2011-05-27 13:27:29Z gpotts $
12 
14 #include "ossimSqliteInfoFactory.h"
21 
22 static void setSqliteDescription(ossimString& description)
23 {
24  description = "GeoPackage reader / writer plugin\n\n";
25 }
26 
27 
28 extern "C"
29 {
32  std::vector<ossimString> theSqliteObjList;
33 
34  const char* getSqliteDescription()
35  {
36  return theSqliteDescription.c_str();
37  }
38 
40  {
41  return (int)theSqliteObjList.size();
42  }
43 
44  const char* getSqliteClassName(int idx)
45  {
46  if(idx < (int)theSqliteObjList.size())
47  {
48  return theSqliteObjList[idx].c_str();
49  }
50  return (const char*)0;
51  }
52 
53  /* Note symbols need to be exported on windoze... */
55  ossimSharedObjectInfo** info,
56  const char* /*options*/)
57  {
61 
62  *info = &mySqliteInfo;
63 
64  /* Register the readers... */
66  registerFactory(ossimSqliteReaderFactory::instance());
67 
68  /* Register the info factoy... */
70  registerFactory(ossimSqliteInfoFactory::instance());
71 
72  /* Register the writers... */
74  registerFactory(ossimSqliteWriterFactory::instance());
75 
76  setSqliteDescription(theSqliteDescription);
79  theSqliteObjList.push_back("ossimGpkgInfo");
80  }
81 
82  /* Note symbols need to be exported on windoze... */
84  {
86  unregisterFactory(ossimSqliteReaderFactory::instance());
87 
89  unregisterFactory(ossimSqliteInfoFactory::instance());
90 
92  unregisterFactory(ossimSqliteWriterFactory::instance());
93  }
94 }
OSSIM_PLUGINS_DLL void ossimSharedLibraryInitialize(ossimSharedObjectInfo **info, const char *)
static ossimImageWriterFactoryRegistry * instance()
ossimSharedLibraryGetNumberOfClassNamesPtr getNumberOfClassNames
ossimSharedObjectInfo mySqliteInfo
static ossimSqliteInfoFactory * instance()
OSSIM_PLUGINS_DLL void ossimSharedLibraryFinalize()
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
Adds ossimSqliteWriter to the typeList.
static ossimSqliteReaderFactory * instance()
static method to return instance (the only one) of this class.
static ossimSqliteWriterFactory * instance()
static method to return instance (the only one) of this class.
std::vector< ossimString > theSqliteObjList
ossimString theSqliteDescription
int getSqliteNumberOfClassNames()
const char * getSqliteDescription()
ossimSharedLibraryGetDescriptionPtr getDescription
#define OSSIM_PLUGINS_DLL
ossimSharedLibraryGetClassNamesPtr getClassName
static ossimInfoFactoryRegistry * instance()
instance method
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
static ossimImageHandlerRegistry * instance()
const char * getSqliteClassName(int idx)
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
Adds "ossimSqliteWriter" to list.