00001 #ifndef FDO_OdbcOVPROPERTYDEFINITIONCOLLECTION_H
00002 #define FDO_OdbcOVPROPERTYDEFINITIONCOLLECTION_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 <Rdbms/Override/ODBC/OdbcOv.h>
00021 #include <Rdbms/Override/ODBC/OdbcOvPropertyDefinition.h>
00022 #include <Rdbms/Override/RdbmsOvPropertyDefinitionCollection.h>
00023 #include <Fdo/Commands/Schema/PhysicalElementMappingCollection.h>
00024
00025 /// \brief
00026 /// Concrete class defining physical schema overrides for a collection of property
00027 /// definitions.
00028 class FdoOdbcOvPropertyDefinitionCollection : public FdoRestrictedNamedCollection<FdoRdbmsOvPropertyDefinition,FdoOdbcOvPropertyDefinition,FdoRdbmsOvPropertyDefinitionCollection>
00029 {
00030 public:
00031 /// \brief
00032 /// Constructs a default of an FdoOdbcOvPropertyDefinitionCollection
00033 ///
00034 /// \return
00035 /// Returns FdoOdbcOvPropertyDefinitionCollection
00036 ///
00037 FDOODBC_OV_API static FdoOdbcOvPropertyDefinitionCollection* Create();
00038
00039 /// \brief
00040 /// Constructs an instance of an FdoOdbcOvPropertyDefinitionCollection using the specified arguments
00041 ///
00042 /// \param parent
00043 /// Input parent
00044 ///
00045 /// \return
00046 /// Returns FdoOdbcOvPropertyDefinitionCollection
00047 ///
00048 FDOODBC_OV_API static FdoOdbcOvPropertyDefinitionCollection* Create(FdoRdbmsOvPropertyDefinitionCollection* baseCollection );
00049
00050 protected:
00051 FdoOdbcOvPropertyDefinitionCollection();
00052 FdoOdbcOvPropertyDefinitionCollection(FdoRdbmsOvPropertyDefinitionCollection* baseCollection);
00053 virtual ~FdoOdbcOvPropertyDefinitionCollection();
00054 virtual void Dispose();
00055
00056 virtual FdoOdbcOvPropertyDefinition* DownCast( FdoRdbmsOvPropertyDefinition* value ) const;
00057 };
00058
00059 /// \brief
00060 /// FdoOdbcOvPropertiesP is a FdoPtr on FdoOdbcOvPropertyDefinitionCollection, provided for convenience.
00061 typedef FdoPtr<FdoOdbcOvPropertyDefinitionCollection> FdoOdbcOvPropertiesP;
00062
00063
00064 #endif
00065
00066