OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

MySqlOvDataPropertyDefinition.h

Go to the documentation of this file.
00001 #ifndef FDO_MySQLOVDATAPROPERTYDEFINITION_H
00002 #define FDO_MySQLOVDATAPROPERTYDEFINITION_H
00003 
00004 //
00005 //
00006 // Copyright (C) 2004-2006  Autodesk, Inc.
00007 // 
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of version 2.1 of the GNU Lesser
00010 // General Public License as published by the Free Software Foundation.
00011 // 
00012 // This library is distributed in the hope that it will be useful,
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015 // Lesser General Public License for more details.
00016 // 
00017 // You should have received a copy of the GNU Lesser General Public
00018 // License along with this library; if not, write to the Free Software
00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00020 //
00021 #include <FdoCommon.h>
00022 #include <Rdbms/Override/RdbmsOvDataPropertyDefinition.h>
00023 #include <Rdbms/Override/MySQL/MySqlOv.h>
00024 #include <Rdbms/Override/MySQL/MySqlOvColumn.h>
00025 #include <Rdbms/Override/MySQL/MySqlOvPropertyDefinition.h>
00026 
00027 /// \brief
00028 /// Concrete class defining physical schema overrides for a data property definition.
00029 class FdoMySQLOvDataPropertyDefinition : public FdoRdbmsOvDataPropertyDefinition, public FdoMySQLOvPropertyDefinition
00030 {
00031 public:
00032     /// \brief
00033     /// Constructs a default of an FdoMySQLOvDataPropertyDefinition
00034     /// 
00035     /// \return
00036     /// Returns FdoMySQLOvDataPropertyDefinition
00037     /// 
00038     FDOMYSQL_OV_API static FdoMySQLOvDataPropertyDefinition* Create();
00039 
00040     /// \brief
00041     /// Constructs an instance of an FdoMySQLOvDataPropertyDefinition using the specified arguments
00042     /// 
00043     /// \param name 
00044     /// Input name
00045     /// 
00046     /// \return
00047     /// Returns FdoMySQLOvDataPropertyDefinition
00048     /// 
00049     FDOMYSQL_OV_API static FdoMySQLOvDataPropertyDefinition* Create(FdoString* name);
00050 
00051     /// \brief
00052     /// Gets the MySQL column
00053     /// 
00054     /// \return
00055     /// Returns the MySQL column
00056     /// 
00057     FDOMYSQL_OV_API FdoMySQLOvColumn* GetColumn();
00058 
00059     /// \brief
00060     /// Sets the MySQL column
00061     /// 
00062     /// \return
00063     /// Returns nothing
00064     /// 
00065     FDOMYSQL_OV_API void SetColumn(FdoMySQLOvColumn *column);
00066 
00067 /* //TODO: enable this code when FdoMySQLOvValidPropertyValueConstraint is ready
00068 
00069     /// \brief
00070     /// Get the single ValidPropertyValueConstraint
00071     /// 
00072     /// \return
00073     /// Returns the single ValidPropertyValueConstraint
00074     /// 
00075     FDOMYSQL_OV_API FdoMySQLOvValidPropertyValueConstraint* GetValidPropertyValueConstraint();
00076 
00077     /// \brief
00078     /// Set the single ValidPropertyValueConstraint
00079     /// 
00080     /// \return
00081     /// Returns nothing
00082     /// 
00083     FDOMYSQL_OV_API void SetValidPropertyValueConstraint(FdoMySQLOvValidPropertyValueConstraint* validPropertyValueConstraint);
00084 */
00085 
00086 /// \cond DOXYGEN-IGNORE
00087 
00088 /// \endcond
00089 
00090 protected:
00091     FdoMySQLOvDataPropertyDefinition();
00092     FdoMySQLOvDataPropertyDefinition(FdoString* name);
00093     virtual ~FdoMySQLOvDataPropertyDefinition();
00094     virtual void Dispose();
00095 
00096 private:
00097 };
00098 
00099 
00100 /// \brief
00101 /// FdoMySQLOvDataPropertyP is a FdoPtr on FdoMySQLOvDataPropertyDefinition, provided for convenience.
00102 typedef FdoPtr<FdoMySQLOvDataPropertyDefinition> FdoMySQLOvDataPropertyP;
00103 
00104 #endif
00105 
00106 

Comments?