00001 #ifndef FDO_MySQLOvColumn_H
00002 #define FDO_MySQLOvColumn_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 <Rdbms/Override/MySQL/MySqlOv.h>
00022 #include <Rdbms/Override/RdbmsOvColumn.h>
00023
00024 /// \brief
00025 /// Concrete class defining physical schema overrides for a column.
00026 class FdoMySQLOvColumn : public FdoRdbmsOvColumn
00027 {
00028
00029 public:
00030 /// \brief
00031 /// Constructs a default of an FdoMySQLOvColumn
00032 ///
00033 /// \return
00034 /// Returns FdoMySQLOvColumn
00035 ///
00036 FDOMYSQL_OV_API static FdoMySQLOvColumn* Create();
00037
00038 /// \brief
00039 /// Constructs an instance of an FdoMySQLOvColumn using the specified arguments
00040 ///
00041 /// \param name
00042 /// Input name
00043 ///
00044 /// \return
00045 /// Returns FdoMySQLOvColumn
00046 ///
00047 FDOMYSQL_OV_API static FdoMySQLOvColumn* Create(FdoString* name);
00048
00049 /// \cond DOXYGEN-IGNORE
00050
00051 /// XML serialization functions, not part of the API.
00052
00053 /// Initialize this element from its XML attributes
00054 virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00055
00056 /// \endcond
00057
00058 protected:
00059 FdoMySQLOvColumn();
00060 FdoMySQLOvColumn(FdoString* name);
00061 virtual ~FdoMySQLOvColumn();
00062 virtual void Dispose();
00063
00064 /// Serialize this property to XML.
00065 virtual void _writeXmlContents(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags);
00066
00067 private:
00068 };
00069
00070 /// \brief
00071 /// FdoMySQLOvColumnP is a FdoPtr on FdoMySQLOvColumn, provided for convenience.
00072 typedef FdoPtr<FdoMySQLOvColumn> FdoMySQLOvColumnP;
00073
00074 #endif
00075
00076