OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

MySqlOvPropertyMappingRelation.h

Go to the documentation of this file.
00001 #ifndef FDO_MySQLOVPROPERTYMAPPINGRELATION_H
00002 #define FDO_MySQLOVPROPERTYMAPPINGRELATION_H
00003 //
00004 //
00005 // Copyright (C) 2004-2006  Autodesk, Inc.
00006 // 
00007 // This library is free software; you can redistribute it and/or
00008 // modify it under the terms of version 2.1 of the GNU Lesser
00009 // General Public License as published by the Free Software Foundation.
00010 // 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 // 
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019 //
00020 #include <Rdbms/Override/RdbmsOvPropertyMappingConcrete.h>
00021 #include <Rdbms/Override/MySQL/MySqlOv.h>
00022 #include <Rdbms/Override/MySQL/MySqlOvPropertyMappingDefinition.h>
00023 
00024 class FdoMySQLOvClassDefinition;
00025 
00026 /// \brief
00027 /// Abstract class defining the physical schema overrides for relation type object property
00028 /// table mappings.
00029 class FdoMySQLOvPropertyMappingRelation : public FdoMySQLOvPropertyMappingDefinition, public virtual FdoRdbmsOvPropertyMappingRelation
00030 {
00031 
00032 public:
00033 
00034     /// \brief
00035     /// Gets the internal class
00036     /// 
00037     /// \return
00038     /// Returns the internal class
00039     /// 
00040     FDOMYSQL_OV_API FdoMySQLOvClassDefinition* GetInternalClass();
00041 
00042     /// \brief
00043     /// Sets the internal class
00044     /// 
00045     /// \return
00046     /// Returns nothing
00047     /// 
00048     FDOMYSQL_OV_API void SetInternalClass(FdoMySQLOvClassDefinition* classDefinition);
00049 
00050 protected:
00051     FdoMySQLOvPropertyMappingRelation();
00052     virtual ~FdoMySQLOvPropertyMappingRelation();
00053 
00054     /// Creates and optionally attaches an internal class override object.
00055     virtual FdoRdbmsOvClassDefinition* CreateInternalClass(
00056         bool attach
00057     );
00058 };
00059 
00060 /// \brief
00061 /// FdoMySQLOvPropertyMappingRelationP is a FdoPtr on FdoMySQLOvPropertyMappingRelation, provided for convenience.
00062 typedef FdoPtr<FdoMySQLOvPropertyMappingRelation> FdoMySQLOvPropertyMappingRelationP;
00063 
00064 #endif
00065 
00066 

Comments?