00001 #ifndef FDO_SqlServerOVASSOCIATIONPROPERTYDEFINITION_H
00002 #define FDO_SqlServerOVASSOCIATIONPROPERTYDEFINITION_H
00003 //
00004 //
00005 // (C) Copyright 1990-2005 by Autodesk, Inc.
00006 //
00007 //
00008 //
00009 // By using this code, you are agreeing to the terms
00010 // and conditions of the License Agreement that appeared
00011 // and was accepted upon download or installation
00012 // (or in connection with the download or installation)
00013 // of the Autodesk software in which this code is included.
00014 // All permissions on use of this code are as set forth
00015 // in such License Agreement provided that the above copyright
00016 // notice appears in all authorized copies and that both that
00017 // copyright notice and the limited warranty and
00018 // restricted rights notice below appear in all supporting
00019 // documentation.
00020 //
00021 // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
00022 // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
00023 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
00024 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
00025 // UNINTERRUPTED OR ERROR FREE.
00026 //
00027 // Use, duplication, or disclosure by the U.S. Government is subject to
00028 // restrictions set forth in FAR 52.227-19 (Commercial Computer
00029 // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00030 // (Rights in Technical Data and Computer Software), as applicable.
00031 //
00032 #include <FdoCommon.h>
00033 #include <Rdbms/Override/SqlServer/SqlServerOv.h>
00034 #include <Rdbms/Override/SqlServer/SqlServerOvPropertyDefinitionCollection.h>
00035 #include <Rdbms/Override/RdbmsOvAssociationPropertyDefinition.h>
00036
00037
00038 /// \brief
00039 /// Concrete class defining physical schema overrides for an association property
00040 /// definition.
00041 class FdoSqlServerOvAssociationPropertyDefinition : public FdoSqlServerOvPropertyDefinition, public FdoRdbmsOvAssociationPropertyDefinition
00042 {
00043 public:
00044 /// \brief
00045 /// Constructs a default of an FdoSqlServerOvAssociationPropertyDefinition
00046 ///
00047 /// \return
00048 /// Returns FdoSqlServerOvAssociationPropertyDefinition
00049 ///
00050 FDOSQLSERVER_OV_API static FdoSqlServerOvAssociationPropertyDefinition* Create();
00051
00052 /// \brief
00053 /// Constructs an instance of an FdoSqlServerOvAssociationPropertyDefinition using the specified arguments
00054 ///
00055 /// \param name
00056 /// Input name
00057 ///
00058 /// \return
00059 /// Returns FdoSqlServerOvAssociationPropertyDefinition
00060 ///
00061 FDOSQLSERVER_OV_API static FdoSqlServerOvAssociationPropertyDefinition* Create(FdoString* name);
00062
00063 /// \brief
00064 /// Gets a collection of property definitions
00065 ///
00066 /// \return
00067 /// Returns a collection of property definitions
00068 ///
00069 FDOSQLSERVER_OV_API FdoSqlServerOvPropertyDefinitionCollection *GetIdentityProperties();
00070
00071 protected:
00072 FdoSqlServerOvAssociationPropertyDefinition();
00073 FdoSqlServerOvAssociationPropertyDefinition(FdoString* name);
00074 virtual ~FdoSqlServerOvAssociationPropertyDefinition();
00075 virtual void Dispose();
00076
00077 private:
00078 void Init();
00079 FdoSqlServerOvPropertiesP mPropertyDefinitions;
00080 };
00081
00082 #endif
00083
00084