OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

SqlServerOvObjectPropertyDefinition.h

Go to the documentation of this file.
00001 #ifndef FDO_SqlServerOVOBJECTPROPERTYDEFINITION_H
00002 #define FDO_SqlServerOVOBJECTPROPERTYDEFINITION_H
00003 /*
00004  * Copyright (C) 2004-2008  Autodesk, Inc.
00005  * 
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of version 2.1 of the GNU Lesser
00008  * General Public License as published by the Free Software Foundation.
00009  * 
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  * 
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018  *
00019  */
00020 #include <Fdo/Commands/Schema/PhysicalElementMapping.h>
00021 #include <Rdbms/Override/RdbmsOvObjectPropertyDefinition.h>
00022 #include <Rdbms/Override/SQLServerSpatial/SqlServerOv.h>
00023 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyMappingDefinition.h>
00024 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyDefinition.h>
00025 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyMappingClass.h>
00026 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyMappingConcrete.h>
00027 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyMappingSingle.h>
00028 
00029 /// \brief
00030 /// Concrete class defining physical schema overrides for an object property definition.
00031 class FdoSqlServerOvObjectPropertyDefinition : public FdoRdbmsOvObjectPropertyDefinition, public FdoSqlServerOvPropertyDefinition
00032 {
00033 public:
00034     /// \brief
00035     /// Constructs a default of an FdoSqlServerOvObjectPropertyDefinition
00036     /// 
00037     /// \return
00038     /// Returns FdoSqlServerOvObjectPropertyDefinition
00039     /// 
00040     FDOSQLSERVER_OV_API static FdoSqlServerOvObjectPropertyDefinition* Create();
00041 
00042     /// \brief
00043     /// Constructs an instance of an FdoSqlServerOvObjectPropertyDefinition using the specified arguments
00044     /// 
00045     /// \param name 
00046     /// Input name
00047     /// 
00048     /// \return
00049     /// Returns FdoSqlServerOvObjectPropertyDefinition
00050     /// 
00051     FDOSQLSERVER_OV_API static FdoSqlServerOvObjectPropertyDefinition* Create(FdoString* name);
00052 
00053     /// \brief
00054     /// Gets the mapping definition
00055     /// 
00056     /// \return
00057     /// Returns the mapping definition
00058     /// 
00059     FDOSQLSERVER_OV_API FdoSqlServerOvPropertyMappingDefinition* GetMappingDefinition();
00060 
00061     /// \brief
00062     /// Sets the mapping definition
00063     /// 
00064     /// \return
00065     /// Returns nothing
00066     /// 
00067     FDOSQLSERVER_OV_API void SetMappingDefinition(FdoSqlServerOvPropertyMappingDefinition* propertyMappingDefinition);
00068 
00069 protected:
00070     FdoSqlServerOvObjectPropertyDefinition();
00071     FdoSqlServerOvObjectPropertyDefinition(FdoString* name);
00072     virtual ~FdoSqlServerOvObjectPropertyDefinition();
00073     virtual void Dispose();
00074 
00075     /// Create and optionally attach a Single table property mapping.
00076     virtual FdoRdbmsOvPropertyMappingSingle* CreateSingleMapping(
00077         bool attach
00078     );
00079 
00080     /// Create and optionally attach a Class table property mapping.
00081     virtual FdoRdbmsOvPropertyMappingClass* CreateClassMapping(
00082         bool attach
00083     );
00084 
00085     /// Create and optionally attach a Concrete table property mapping.
00086     virtual FdoRdbmsOvPropertyMappingConcrete* CreateConcreteMapping(
00087         bool attach
00088     );
00089 
00090 private:
00091 };
00092 
00093 
00094 /// \brief
00095 /// FdoSqlServerOvObjectPropertyP is a FdoPtr on FdoSqlServerOvObjectPropertyDefinition, provided for convenience.
00096 typedef FdoPtr<FdoSqlServerOvObjectPropertyDefinition> FdoSqlServerOvObjectPropertyP;
00097 
00098 #endif
00099 
00100 

Comments?