30 #ifndef OGRMUTEXEDDATASOURCELAYER_H_INCLUDED 31 #define OGRMUTEXEDDATASOURCELAYER_H_INCLUDED 36 #include "cpl_multiproc.h" 37 #include "ogrmutexedlayer.h" 54 CPLMutex *m_hGlobalMutex;
55 int m_bWrapLayersInMutexedLayer;
56 std::map<OGRLayer*, OGRMutexedLayer* > m_oMapLayers{};
57 std::map<OGRMutexedLayer*, OGRLayer* > m_oReverseMapLayers{};
67 int bWrapLayersInMutexedLayer);
70 virtual ~OGRMutexedDataSource();
72 OGRDataSource* GetBaseDataSource() {
return m_poBaseDataSource; }
74 virtual const char *GetName()
override;
76 virtual int GetLayerCount()
override ;
77 virtual OGRLayer *GetLayer(
int)
override;
78 virtual OGRLayer *GetLayerByName(
const char *)
override;
79 virtual OGRErr DeleteLayer(
int)
override;
81 virtual int TestCapability(
const char * )
override;
83 virtual OGRLayer *ICreateLayer(
const char *pszName,
86 char ** papszOptions =
nullptr )
override;
88 const char *pszNewName,
89 char **papszOptions =
nullptr )
override;
92 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable )
override;
94 virtual void SetStyleTable(
OGRStyleTable *poStyleTable)
override;
96 virtual OGRLayer * ExecuteSQL(
const char *pszStatement,
98 const char *pszDialect )
override;
99 virtual void ReleaseResultSet(
OGRLayer * poResultsSet )
override;
101 virtual void FlushCache()
override;
103 virtual OGRErr StartTransaction(
int bForce=FALSE)
override;
104 virtual OGRErr CommitTransaction()
override;
105 virtual OGRErr RollbackTransaction()
override;
107 virtual char **GetMetadata(
const char * pszDomain =
"" )
override;
108 virtual CPLErr SetMetadata(
char ** papszMetadata,
109 const char * pszDomain =
"" )
override;
110 virtual const char *GetMetadataItem(
const char * pszName,
111 const char * pszDomain =
"" )
override;
112 virtual CPLErr SetMetadataItem(
const char * pszName,
113 const char * pszValue,
114 const char * pszDomain =
"" )
override;
119 #endif // OGRMUTEXEDDATASOURCELAYER_H_INCLUDED Definition: ogrsf_frmts.h:317
Definition: ogr_core.h:319
OGRwkbGeometryType
Definition: ogr_core.h:317
Definition: ogr_geometry.h:286
Definition: ogr_spatialref.h:156
Definition: ogrsf_frmts.h:70
Definition: ogr_featurestyle.h:84
int OGRErr
Definition: ogr_core.h:290
CPLErr
Definition: cpl_error.h:52
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Definition: cpl_port.h:997