00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef FDOPOSTGIS_PHYSICALSCHEMAMAPPING_H_INCLUDED
00018 #define FDOPOSTGIS_PHYSICALSCHEMAMAPPING_H_INCLUDED
00019
00020 #include <PostGIS/Override/ClassCollection.h>
00021
00022 namespace fdo { namespace postgis { namespace ov {
00023
00024
00025 class ClassDefinition;
00026 class ClassCollection;
00027
00028
00029 class PhysicalSchemaMapping : public FdoPhysicalSchemaMapping
00030 {
00031 public:
00032
00033 typedef FdoPtr<PhysicalSchemaMapping> Ptr;
00034
00035
00036
00037
00038
00039 FDOPOSTGIS_API static PhysicalSchemaMapping* Create();
00040
00041 FDOPOSTGIS_API virtual FdoString* GetProvider();
00042
00043 FDOPOSTGIS_API ClassCollection* GetClasses() const;
00044
00045
00046 FDOPOSTGIS_API ClassDefinition* FindByClassName(FdoStringP const& name);
00047
00048
00049
00050
00051
00052
00053 FDOPOSTGIS_API virtual void InitFromXml(FdoXmlSaxContext* xmlContext,
00054 FdoXmlAttributeCollection* xmlAttrs);
00055
00056
00057 FDOPOSTGIS_API virtual void _writeXml(FdoXmlWriter* xmlWriter,
00058 FdoXmlFlags const* xmlFlags);
00059
00060
00061
00062
00063
00064
00065
00066 FDOPOSTGIS_API virtual FdoXmlSaxHandler* XmlStartElement(FdoXmlSaxContext *saxContext,
00067 FdoString* uri, FdoString* name, FdoString* qname,
00068 FdoXmlAttributeCollection* xmlAtts);
00069
00070
00071
00072 FDOPOSTGIS_API virtual FdoBoolean XmlEndElement(FdoXmlSaxContext* saxContext,
00073 FdoString* uri, FdoString* name, FdoString* qname);
00074
00075 protected:
00076
00077 PhysicalSchemaMapping();
00078 virtual ~PhysicalSchemaMapping();
00079
00080
00081
00082
00083
00084 virtual void Dispose();
00085
00086 private:
00087
00088 ClassCollection::Ptr mClasses;
00089
00090 typedef FdoPhysicalSchemaMapping BaseType;
00091 };
00092
00093 }}}
00094
00095 #endif // FDOPOSTGIS_PHYSICALSCHEMAMAPPING_H_INCLUDED