API Reference | OSGeo FDO Provider for ODBC |
00001 #ifndef FDO_SqlServerOVOBJECTPROPERTYDEFINITION_H 00002 #define FDO_SqlServerOVOBJECTPROPERTYDEFINITION_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 <Fdo/Commands/Schema/PhysicalElementMapping.h> 00033 #include <Rdbms/Override/RdbmsOvObjectPropertyDefinition.h> 00034 #include <Rdbms/Override/SqlServer/SqlServerOv.h> 00035 #include <Rdbms/Override/SqlServer/SqlServerOvPropertyMappingDefinition.h> 00036 #include <Rdbms/Override/SqlServer/SqlServerOvPropertyDefinition.h> 00037 #include <Rdbms/Override/SqlServer/SqlServerOvPropertyMappingClass.h> 00038 #include <Rdbms/Override/SqlServer/SqlServerOvPropertyMappingConcrete.h> 00039 #include <Rdbms/Override/SqlServer/SqlServerOvPropertyMappingSingle.h> 00040 00041 /// \brief 00042 /// Concrete class defining physical schema overrides for an object property definition. 00043 class FdoSqlServerOvObjectPropertyDefinition : public FdoRdbmsOvObjectPropertyDefinition, public FdoSqlServerOvPropertyDefinition 00044 { 00045 public: 00046 /// \brief 00047 /// Constructs a default of an FdoSqlServerOvObjectPropertyDefinition 00048 /// 00049 /// \return 00050 /// Returns FdoSqlServerOvObjectPropertyDefinition 00051 /// 00052 FDOSQLSERVER_OV_API static FdoSqlServerOvObjectPropertyDefinition* Create(); 00053 00054 /// \brief 00055 /// Constructs an instance of an FdoSqlServerOvObjectPropertyDefinition using the specified arguments 00056 /// 00057 /// \param name 00058 /// Input name 00059 /// 00060 /// \return 00061 /// Returns FdoSqlServerOvObjectPropertyDefinition 00062 /// 00063 FDOSQLSERVER_OV_API static FdoSqlServerOvObjectPropertyDefinition* Create(FdoString* name); 00064 00065 /// \brief 00066 /// Gets the mapping definition 00067 /// 00068 /// \return 00069 /// Returns the mapping definition 00070 /// 00071 FDOSQLSERVER_OV_API FdoSqlServerOvPropertyMappingDefinition* GetMappingDefinition(); 00072 00073 /// \brief 00074 /// Sets the mapping definition 00075 /// 00076 /// \return 00077 /// Returns nothing 00078 /// 00079 FDOSQLSERVER_OV_API void SetMappingDefinition(FdoSqlServerOvPropertyMappingDefinition* propertyMappingDefinition); 00080 00081 protected: 00082 FdoSqlServerOvObjectPropertyDefinition(); 00083 FdoSqlServerOvObjectPropertyDefinition(FdoString* name); 00084 virtual ~FdoSqlServerOvObjectPropertyDefinition(); 00085 virtual void Dispose(); 00086 00087 /// Create and optionally attach a Single table property mapping. 00088 virtual FdoRdbmsOvPropertyMappingSingle* CreateSingleMapping( 00089 bool attach 00090 ); 00091 00092 /// Create and optionally attach a Class table property mapping. 00093 virtual FdoRdbmsOvPropertyMappingClass* CreateClassMapping( 00094 bool attach 00095 ); 00096 00097 /// Create and optionally attach a Concrete table property mapping. 00098 virtual FdoRdbmsOvPropertyMappingConcrete* CreateConcreteMapping( 00099 bool attach 00100 ); 00101 00102 private: 00103 }; 00104 00105 00106 /// \brief 00107 /// FdoSqlServerOvObjectPropertyP is a FdoPtr on FdoSqlServerOvObjectPropertyDefinition, provided for convenience. 00108 typedef FdoPtr<FdoSqlServerOvObjectPropertyDefinition> FdoSqlServerOvObjectPropertyP; 00109 00110 #endif 00111 00112
Comments? |