Autodesk FDO Provider for Oracle API Reference

Oracle Provider API

API Reference Autodesk FDO Provider for Oracle

OracleOvPhysicalSchemaMapping.h

Go to the documentation of this file.
00001 #ifndef FDO_ORACLEOVPHYSICALSCHEMAMAPPING_H
00002 #define FDO_ORACLEOVPHYSICALSCHEMAMAPPING_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/Oracle/OracleOv.h>
00034 #include <Rdbms/Override/Oracle/OracleOvClassCollection.h>
00035 
00036 /// \brief
00037 /// Concrete class offering schema overrides for
00038 /// the Oracle Provider.
00039 class FdoOracleOvPhysicalSchemaMapping : public FdoRdbmsOvPhysicalSchemaMapping
00040 {
00041 
00042 public:
00043 
00044     /// \brief
00045     /// Constructs a default of an FdoOracleOvPhysicalSchemaMapping
00046     /// 
00047     /// \return
00048     /// Returns FdoOracleOvPhysicalSchemaMapping
00049     /// 
00050     FDOORACLE_OV_API static FdoOracleOvPhysicalSchemaMapping* Create();
00051 
00052     /// \brief
00053     /// Constructs an instance of an FdoOracleOvPhysicalSchemaMapping using the specified arguments
00054     /// 
00055     /// \param name 
00056     /// Input name
00057     /// 
00058     /// \return
00059     /// Returns FdoOracleOvPhysicalSchemaMapping
00060     /// 
00061     FDOORACLE_OV_API static FdoOracleOvPhysicalSchemaMapping* Create(FdoString* name);
00062 
00063     /// \brief
00064     /// Gets the classes
00065     /// 
00066     /// \return
00067     /// Returns the classes
00068     /// 
00069     FDOORACLE_OV_API FdoOracleOvClassCollection* GetClasses();
00070 
00071     /// \brief
00072     /// Gets the tablespace
00073     /// 
00074     /// \return
00075     /// Returns the tablespace
00076     /// 
00077     FDOORACLE_OV_API FdoString *GetTablespace();
00078 
00079     /// \brief
00080     /// Sets the tablespace
00081     /// 
00082     /// \return
00083     /// Returns nothing
00084     /// 
00085     FDOORACLE_OV_API void SetTablespace(FdoString *tablespace);
00086 
00087     /// \brief
00088     /// Gets the database
00089     /// 
00090     /// \return
00091     /// Returns the database
00092     /// 
00093     FDOORACLE_OV_API FdoString *GetDatabase();
00094 
00095     /// \brief
00096     /// Sets the database
00097     /// 
00098     /// \return
00099     /// Returns nothing
00100     /// 
00101     FDOORACLE_OV_API void SetDatabase(FdoString *database);
00102 
00103     /// \brief
00104     /// Gets the owner
00105     /// 
00106     /// \return
00107     /// Returns the owner
00108     /// 
00109     FDOORACLE_OV_API FdoString *GetOwner();
00110 
00111     /// \brief
00112     /// Sets the owner
00113     /// 
00114     /// \return
00115     /// Returns nothing
00116     /// 
00117     FDOORACLE_OV_API void SetOwner(FdoString *owner);
00118 
00119     /// \brief
00120     /// Gets the provider name
00121     /// 
00122     /// \return
00123     /// Returns the provider name
00124     /// 
00125     FDOORACLE_OV_API virtual FdoString *GetProvider(void);
00126 
00127 /// \cond DOXYGEN-IGNORE
00128 
00129     /// XML Serialization functions, not part of API.
00130 
00131     /// Serialize this property to XML.
00132     virtual void _writeXmlAttributes(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags);
00133 
00134     /// Initialize this element from its XML attributes
00135     virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00136 
00137 /// \endcond
00138 
00139 protected:
00140     FdoOracleOvPhysicalSchemaMapping();
00141     FdoOracleOvPhysicalSchemaMapping(FdoString* name);
00142     virtual ~FdoOracleOvPhysicalSchemaMapping();
00143     virtual void Dispose();
00144 
00145     /// Create a class override from XML attributes
00146     virtual FdoRdbmsOvClassDefinition* CreateClass( 
00147         FdoXmlSaxContext* context,
00148         FdoXmlAttributeCollection* atts
00149     );
00150 
00151     /// Add the given class override to this schema override set
00152     virtual void AddClass( 
00153         FdoRdbmsOvClassDefinition* pClass
00154     );
00155 
00156 private:
00157     FdoOracleOvClassesP         mClasses;
00158     FdoStringP                  mTablespace;
00159     FdoStringP                  mDatabase;
00160     FdoStringP                  mOwner;
00161 };
00162 
00163 /// \brief
00164 /// FdoOracleOvSchemaMappingP is a FdoPtr on FdoOracleOvPhysicalSchemaMapping, provided for convenience.
00165 typedef FdoPtr<FdoOracleOvPhysicalSchemaMapping> FdoOracleOvSchemaMappingP;
00166 
00167 #endif
00168 
00169 

Comments?