- Main Page
- Classes
- Files

# OdbcOvClassDefinition.h

Go to the documentation of this file.

    00001 #ifndef FDO_ODBCOVCLASSDEFINITION_H
    00002 #define FDO_ODBCOVCLASSDEFINITION_H
    00003 //
    00004 //
    00005 // Copyright (C) 2004-2006  Autodesk, Inc.
    00006 //
    00007 // This library is free software; you can redistribute it and/or
    00008 // modify it under the terms of version 2.1 of the GNU Lesser
    00009 // General Public License as published by the Free Software Foundation.
    00010 //
    00011 // This library is distributed in the hope that it will be useful,
    00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014 // Lesser General Public License for more details.
    00015 //
    00016 // You should have received a copy of the GNU Lesser General Public
    00017 // License along with this library; if not, write to the Free Software
    00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    00019 //
    00020 #include <Rdbms/Override/RdbmsOvClassDefinition.h>
    00021 #include <Rdbms/Override/ODBC/OdbcOv.h>
    00022 #include <Rdbms/Override/ODBC/OdbcOvDataPropertyDefinition.h>
    00023 #include <Rdbms/Override/ODBC/OdbcOvGeometricPropertyDefinition.h>
    00024 #include <Rdbms/Override/ODBC/OdbcOvPropertyDefinitionCollection.h>
    00025 #include <Rdbms/Override/ODBC/OdbcOvTable.h>
    00026
    00027 /// \brief
    00028 /// Concrete class defining physical schema overrides for a class definition.
    00029 class FdoOdbcOvClassDefinition : public FdoRdbmsOvClassDefinition
    00030 {
    00031
    00032 public:
    00033     /// \brief
    00034     /// Constructs a default of an FdoOdbcOvClassDefinition
    00035     ///
    00036     /// \return
    00037     /// Returns FdoOdbcOvClassDefinition
    00038     ///
    00039     FDOODBC_OV_API static FdoOdbcOvClassDefinition* Create();
    00040
    00041     /// \brief
    00042     /// Constructs an instance of an FdoOdbcOvClassDefinition using the specified arguments
    00043     ///
    00044     /// \param name
    00045     /// Input name
    00046     ///
    00047     /// \return
    00048     /// Returns FdoOdbcOvClassDefinition
    00049     ///
    00050     FDOODBC_OV_API static FdoOdbcOvClassDefinition* Create(FdoString* name);
    00051
    00052     /// \brief
    00053     /// Gets a collection of Odbc property overrides
    00054     ///
    00055     /// \return
    00056     /// Returns the collection of Odbc property overrides
    00057     ///
    00058     FDOODBC_OV_API FdoOdbcOvPropertyDefinitionCollection* GetProperties();
    00059
    00060     /// \brief
    00061     /// Gets the Odbc table override for this class override
    00062     ///
    00063     /// \return
    00064     /// Returns FdoOdbcOvTable
    00065     ///
    00066     FDOODBC_OV_API FdoOdbcOvTable* GetTable();
    00067
    00068     /// \brief
    00069     /// Sets the Odbc table override for this class override
    00070     ///
    00071     /// \param name
    00072     /// Input Odbc table override
    00073     ///
    00074     /// \return
    00075     /// Returns nothing
    00076     ///
    00077     FDOODBC_OV_API void SetTable(FdoOdbcOvTable* table);
    00078
    00079
    00080 /// \cond DOXYGEN-IGNORE
    00081
    00082     /// Sets the parent of this object. Not part of the API.
    00083     void SetParent(FdoPhysicalElementMapping* value);
    00084
    00085     /// Initialize this element from its XML attributes
    00086     virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
    00087
    00088     /// Serialize the XML attributes of this class:
    00089     virtual void _writeXmlAttributes(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags);
    00090
    00091 /// \endcond
    00092
    00093 protected:
    00094     FdoOdbcOvClassDefinition();
    00095     FdoOdbcOvClassDefinition(FdoString *name);
    00096
    00097     virtual ~FdoOdbcOvClassDefinition();
    00098     void Init();
    00099     virtual void Dispose();
    00100
    00101     /// Create table override from XML attributes
    00102     virtual void SetTable(
    00103         FdoXmlSaxContext* context,
    00104         FdoXmlAttributeCollection* atts
    00105     );
    00106
    00107     /// Create data property override from XML attributes
    00108     virtual FdoRdbmsOvDataPropertyDefinition* CreateDataProperty(
    00109         FdoXmlSaxContext* context,
    00110         FdoXmlAttributeCollection* propAtts,
    00111         FdoXmlAttributeCollection* colAtts
    00112     );
    00113
    00114     /// Create geometric property override from XML attributes
    00115     virtual FdoRdbmsOvGeometricPropertyDefinition* CreateGeometricProperty(
    00116         FdoXmlSaxContext* context,
    00117         FdoXmlAttributeCollection* propAtts,
    00118         FdoXmlAttributeCollection* colAtts
    00119     );
    00120
    00121     /// Add the given property override to this class override
    00122     virtual void AddProperty(
    00123         FdoRdbmsOvPropertyDefinition* pProp
    00124     );
    00125
    00126 private:
    00127     FdoOdbcOvPropertiesP  mPropertyDefinitions;
    00128 };
    00129
    00130
    00131 /// \brief
    00132 /// FdoOdbcOvClassP is a FdoPtr on FdoOdbcOvClassDefinition, provided for convenience.
    00133 typedef FdoPtr<FdoOdbcOvClassDefinition> FdoOdbcOvClassP;
    00134
    00135 #endif
    00136
    00137

Please send us your comment about this page