Autodesk FDO Provider for SQL Server API Reference

SQLServer Provider API

API Reference Autodesk FDO Provider for SQL Server

SqlServerOvPhysicalSchemaMapping.h

Go to the documentation of this file.
00001 #ifndef FDO_SqlServerOVPHYSICALSCHEMAMAPPING_H
00002 #define FDO_SqlServerOVPHYSICALSCHEMAMAPPING_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 <Rdbms/Override/RdbmsOvPhysicalSchemaMapping.h>
00033 #include <Rdbms/Override/SqlServer/SqlServerOv.h>
00034 #include <Rdbms/Override/SqlServer/SqlServerOvClassCollection.h>
00035 #include <Rdbms/Override/SqlServer/SqlServerOvTextInRowOption.h>
00036 
00037 /// \brief
00038 /// Concrete class offering schema overrides for
00039 /// the SqlServer Provider.
00040 class FdoSqlServerOvPhysicalSchemaMapping : public FdoRdbmsOvPhysicalSchemaMapping
00041 {
00042 
00043 public:
00044 
00045     /// \brief
00046     /// Constructs a default of an FdoSqlServerOvPhysicalSchemaMapping
00047     /// 
00048     /// \return
00049     /// Returns FdoSqlServerOvPhysicalSchemaMapping
00050     /// 
00051     FDOSQLSERVER_OV_API static FdoSqlServerOvPhysicalSchemaMapping* Create();
00052 
00053     /// \brief
00054     /// Constructs an instance of an FdoSqlServerOvPhysicalSchemaMapping using the specified arguments
00055     /// 
00056     /// \param name 
00057     /// Input name
00058     /// 
00059     /// \return
00060     /// Returns FdoSqlServerOvPhysicalSchemaMapping
00061     /// 
00062     FDOSQLSERVER_OV_API static FdoSqlServerOvPhysicalSchemaMapping* Create(FdoString* name);
00063 
00064     /// \brief
00065     /// Gets the classes
00066     /// 
00067     /// \return
00068     /// Returns the classes
00069     /// 
00070     FDOSQLSERVER_OV_API FdoSqlServerOvClassCollection* GetClasses();
00071 
00072     /// \brief
00073     /// Gets the table Filegroup
00074     /// 
00075     /// \return
00076     /// Returns the table Filegroup
00077     /// 
00078     FDOSQLSERVER_OV_API FdoString *GetTableFilegroup();
00079 
00080     /// \brief
00081     /// Sets the table Filegroup
00082     /// 
00083     /// \return
00084     /// Returns nothing
00085     /// 
00086     FDOSQLSERVER_OV_API void SetTableFilegroup(FdoString *tableFilegroup);
00087 
00088     /// \brief
00089     /// Gets the text Filegroup
00090     /// 
00091     /// \return
00092     /// Returns the text Filegroup
00093     /// 
00094     FDOSQLSERVER_OV_API FdoString *GetTextFilegroup();
00095 
00096     /// \brief
00097     /// Sets the text Filegroup
00098     /// 
00099     /// \return
00100     /// Returns nothing
00101     /// 
00102     FDOSQLSERVER_OV_API void SetTextFilegroup(FdoString *textFilegroup);
00103 
00104     /// \brief
00105     /// Gets the index Filegroup
00106     /// 
00107     /// \return
00108     /// Returns the index Filegroup
00109     /// 
00110     FDOSQLSERVER_OV_API FdoString *GetIndexFilegroup();
00111 
00112     /// \brief
00113     /// Sets the index Filegroup
00114     /// 
00115     /// \return
00116     /// Returns nothing
00117     /// 
00118     FDOSQLSERVER_OV_API void SetIndexFilegroup(FdoString *indexFilegroup);
00119 
00120     /// \brief
00121     /// Gets the text-in-row option
00122     /// 
00123     /// \return
00124     /// Returns the text-in-row option
00125     /// 
00126     FDOSQLSERVER_OV_API SqlServerOvTextInRowOption GetTextInRow();
00127 
00128     /// \brief
00129     /// Sets the text-in-row option
00130     /// 
00131     /// \return
00132     /// Returns nothing
00133     /// 
00134     FDOSQLSERVER_OV_API void SetTextInRow(SqlServerOvTextInRowOption textInRow);
00135 
00136     /// \brief
00137     /// Gets the database
00138     /// 
00139     /// \return
00140     /// Returns the database
00141     /// 
00142     FDOSQLSERVER_OV_API FdoString *GetDatabase();
00143 
00144     /// \brief
00145     /// Sets the database
00146     /// 
00147     /// \return
00148     /// Returns nothing
00149     /// 
00150     FDOSQLSERVER_OV_API void SetDatabase(FdoString *database);
00151 
00152     /// \brief
00153     /// Gets the owner
00154     /// 
00155     /// \return
00156     /// Returns the owner
00157     /// 
00158     FDOSQLSERVER_OV_API FdoString *GetOwner();
00159 
00160     /// \brief
00161     /// Sets the owner
00162     /// 
00163     /// \return
00164     /// Returns nothing
00165     /// 
00166     FDOSQLSERVER_OV_API void SetOwner(FdoString *owner);
00167 
00168     /// \brief
00169     /// Gets the provider name
00170     /// 
00171     /// \return
00172     /// Returns the provider name
00173     /// 
00174     FDOSQLSERVER_OV_API virtual FdoString *GetProvider(void);
00175 
00176 /// \cond DOXYGEN-IGNORE
00177 
00178     /// XML Serialization functions, not part of API.
00179 
00180     /// Serialize this property to XML.
00181     virtual void _writeXmlAttributes(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags);
00182 
00183     /// Initialize this element from its XML attributes
00184     virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00185 
00186 /// \endcond
00187 
00188 protected:
00189     FdoSqlServerOvPhysicalSchemaMapping();
00190     FdoSqlServerOvPhysicalSchemaMapping(FdoString* name);
00191     virtual ~FdoSqlServerOvPhysicalSchemaMapping();
00192     virtual void Dispose();
00193 
00194     /// Create a class override from XML attributes
00195     virtual FdoRdbmsOvClassDefinition* CreateClass( 
00196         FdoXmlSaxContext* context,
00197         FdoXmlAttributeCollection* atts
00198     );
00199 
00200     /// Add the given class override to this schema override set
00201     virtual void AddClass( 
00202         FdoRdbmsOvClassDefinition* pClass
00203     );
00204 
00205     /// Common initializer for all constructors:
00206     void Init();
00207 
00208 private:
00209     FdoSqlServerOvClassesP      mClasses;
00210     FdoStringP                  mTableFilegroup;
00211     FdoStringP                  mTextFilegroup;
00212     FdoStringP                  mIndexFilegroup;
00213     SqlServerOvTextInRowOption  mTextInRow;
00214     FdoStringP                  mDatabase;
00215     FdoStringP                  mOwner;
00216 };
00217 
00218 /// \brief
00219 /// FdoSqlServerOvSchemaMappingP is a FdoPtr on FdoSqlServerOvPhysicalSchemaMapping, provided for convenience.
00220 typedef FdoPtr<FdoSqlServerOvPhysicalSchemaMapping> FdoSqlServerOvSchemaMappingP;
00221 
00222 #endif
00223 
00224 

Comments?