OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

SqlServerOvPropertyMappingRelation.h

Go to the documentation of this file.
00001 #ifndef FDO_SqlServerOVPROPERTYMAPPINGRELATION_H
00002 #define FDO_SqlServerOVPROPERTYMAPPINGRELATION_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 
00021 #include <Rdbms/Override/RdbmsOvPropertyMappingConcrete.h>
00022 #include <Rdbms/Override/SQLServerSpatial/SqlServerOv.h>
00023 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyMappingDefinition.h>
00024 
00025 class FdoSqlServerOvClassDefinition;
00026 
00027 /// \brief
00028 /// Abstract class defining the physical schema overrides for relation type object property
00029 /// table mappings.
00030 class FdoSqlServerOvPropertyMappingRelation : public FdoSqlServerOvPropertyMappingDefinition, public virtual FdoRdbmsOvPropertyMappingRelation
00031 {
00032 
00033 public:
00034 
00035     /// \brief
00036     /// Gets the internal class
00037     /// 
00038     /// \return
00039     /// Returns the internal class
00040     /// 
00041     FDOSQLSERVER_OV_API FdoSqlServerOvClassDefinition* GetInternalClass();
00042 
00043     /// \brief
00044     /// Sets the internal class
00045     /// 
00046     /// \return
00047     /// Returns nothing
00048     /// 
00049     FDOSQLSERVER_OV_API void SetInternalClass(FdoSqlServerOvClassDefinition* classDefinition);
00050 
00051 protected:
00052     FdoSqlServerOvPropertyMappingRelation();
00053     virtual ~FdoSqlServerOvPropertyMappingRelation();
00054 
00055     /// Creates and optionally attaches an internal class override object.
00056     virtual FdoRdbmsOvClassDefinition* CreateInternalClass(
00057         bool attach
00058     );
00059 };
00060 
00061 /// \brief
00062 /// FdoSqlServerOvPropertyMappingRelationP is a FdoPtr on FdoSqlServerOvPropertyMappingRelation, provided for convenience.
00063 typedef FdoPtr<FdoSqlServerOvPropertyMappingRelation> FdoSqlServerOvPropertyMappingRelationP;
00064 
00065 #endif
00066 
00067 

Comments?