00001 #ifndef FDO_MySQLOVASSOCIATIONPROPERTYDEFINITION_H
00002 #define FDO_MySQLOVASSOCIATIONPROPERTYDEFINITION_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 <FdoCommon.h>
00021 #include <Rdbms/Override/MySQL/MySqlOv.h>
00022 #include <Rdbms/Override/MySQL/MySqlOvPropertyDefinitionCollection.h>
00023 #include <Rdbms/Override/RdbmsOvAssociationPropertyDefinition.h>
00024
00025
00026 /// \brief
00027 /// Concrete class defining physical schema overrides for an association property
00028 /// definition.
00029 class FdoMySQLOvAssociationPropertyDefinition : public FdoMySQLOvPropertyDefinition, public FdoRdbmsOvAssociationPropertyDefinition
00030 {
00031 public:
00032 /// \brief
00033 /// Constructs a default of an FdoMySQLOvAssociationPropertyDefinition
00034 ///
00035 /// \return
00036 /// Returns FdoMySQLOvAssociationPropertyDefinition
00037 ///
00038 FDOMYSQL_OV_API static FdoMySQLOvAssociationPropertyDefinition* Create();
00039
00040 /// \brief
00041 /// Constructs an instance of an FdoMySQLOvAssociationPropertyDefinition using the specified arguments
00042 ///
00043 /// \param name
00044 /// Input name
00045 ///
00046 /// \return
00047 /// Returns FdoMySQLOvAssociationPropertyDefinition
00048 ///
00049 FDOMYSQL_OV_API static FdoMySQLOvAssociationPropertyDefinition* Create(FdoString* name);
00050
00051 /// \brief
00052 /// Gets a collection of property definitions
00053 ///
00054 /// \return
00055 /// Returns a collection of property definitions
00056 ///
00057 FDOMYSQL_OV_API FdoMySQLOvPropertyDefinitionCollection *GetIdentityProperties();
00058
00059 protected:
00060 FdoMySQLOvAssociationPropertyDefinition();
00061 FdoMySQLOvAssociationPropertyDefinition(FdoString* name);
00062 virtual ~FdoMySQLOvAssociationPropertyDefinition();
00063 virtual void Dispose();
00064
00065 private:
00066 void Init();
00067 FdoMySQLOvPropertiesP mPropertyDefinitions;
00068 };
00069
00070 #endif
00071
00072