- Main Page
- Namespaces
- Classes
- Files

# MySqlOvObjectPropertyDefinition.h

Go to the documentation of this file.

    00001 #ifndef FDO_MySQLOVOBJECTPROPERTYDEFINITION_H
    00002 #define FDO_MySQLOVOBJECTPROPERTYDEFINITION_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 <Fdo/Commands/Schema/PhysicalElementMapping.h>
    00021 #include <Rdbms/Override/RdbmsOvObjectPropertyDefinition.h>
    00022 #include <Rdbms/Override/MySQL/MySqlOv.h>
    00023 #include <Rdbms/Override/MySQL/MySqlOvPropertyMappingDefinition.h>
    00024 #include <Rdbms/Override/MySQL/MySqlOvPropertyDefinition.h>
    00025 #include <Rdbms/Override/MySQL/MySqlOvPropertyMappingClass.h>
    00026 #include <Rdbms/Override/MySQL/MySqlOvPropertyMappingConcrete.h>
    00027 #include <Rdbms/Override/MySQL/MySqlOvPropertyMappingSingle.h>
    00028
    00029 /// \brief
    00030 /// Concrete class defining physical schema overrides for an object property definition.
    00031 class FdoMySQLOvObjectPropertyDefinition : public FdoRdbmsOvObjectPropertyDefinition, public FdoMySQLOvPropertyDefinition
    00032 {
    00033 public:
    00034     /// \brief
    00035     /// Constructs a default of an FdoMySQLOvObjectPropertyDefinition
    00036     ///
    00037     /// \return
    00038     /// Returns FdoMySQLOvObjectPropertyDefinition
    00039     ///
    00040     FDOMYSQL_OV_API static FdoMySQLOvObjectPropertyDefinition* Create();
    00041
    00042     /// \brief
    00043     /// Constructs an instance of an FdoMySQLOvObjectPropertyDefinition using the specified arguments
    00044     ///
    00045     /// \param name
    00046     /// Input name
    00047     ///
    00048     /// \return
    00049     /// Returns FdoMySQLOvObjectPropertyDefinition
    00050     ///
    00051     FDOMYSQL_OV_API static FdoMySQLOvObjectPropertyDefinition* Create(FdoString* name);
    00052
    00053     /// \brief
    00054     /// Gets the mapping definition
    00055     ///
    00056     /// \return
    00057     /// Returns the mapping definition
    00058     ///
    00059     FDOMYSQL_OV_API FdoMySQLOvPropertyMappingDefinition* GetMappingDefinition();
    00060
    00061     /// \brief
    00062     /// Sets the mapping definition
    00063     ///
    00064     /// \return
    00065     /// Returns nothing
    00066     ///
    00067     FDOMYSQL_OV_API void SetMappingDefinition(FdoMySQLOvPropertyMappingDefinition* propertyMappingDefinition);
    00068
    00069 protected:
    00070     FdoMySQLOvObjectPropertyDefinition();
    00071     FdoMySQLOvObjectPropertyDefinition(FdoString* name);
    00072     virtual ~FdoMySQLOvObjectPropertyDefinition();
    00073     virtual void Dispose();
    00074
    00075     /// Create and optionally attach a Single table property mapping.
    00076     virtual FdoRdbmsOvPropertyMappingSingle* CreateSingleMapping(
    00077         bool attach
    00078     );
    00079
    00080     /// Create and optionally attach a Class table property mapping.
    00081     virtual FdoRdbmsOvPropertyMappingClass* CreateClassMapping(
    00082         bool attach
    00083     );
    00084
    00085     /// Create and optionally attach a Concrete table property mapping.
    00086     virtual FdoRdbmsOvPropertyMappingConcrete* CreateConcreteMapping(
    00087         bool attach
    00088     );
    00089
    00090 private:
    00091 };
    00092
    00093
    00094 /// \brief
    00095 /// FdoMySQLOvObjectPropertyP is a FdoPtr on FdoMySQLOvObjectPropertyDefinition, provided for convenience.
    00096 typedef FdoPtr<FdoMySQLOvObjectPropertyDefinition> FdoMySQLOvObjectPropertyP;
    00097
    00098 #endif
    00099
    00100

Please send us your comment about this page