Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

sfcschemarowsets.h

00001 /******************************************************************************
00002  * $Id: sfcschemarowsets.h,v 1.4 2006/03/31 17:57:32 fwarmerdam Exp $
00003  *
00004  * Project:  OpenGIS Simple Features Reference Implementation
00005  * Purpose:  Definitions for OGIS specific, and generic OLE DB schema rowsets.
00006  *           Generally application code shouldn't need to include this file
00007  *           directly or indirectly.  It exists mostly to support the other
00008  *           SFC class implementations.
00009  * Author:   Frank Warmerdam, warmerdam@pobox.com
00010  *
00011  ******************************************************************************
00012  * Copyright (c) 1999, Les Technologies SoftMap Inc.
00013  *
00014  * Permission is hereby granted, free of charge, to any person obtaining a
00015  * copy of this software and associated documentation files (the "Software"),
00016  * to deal in the Software without restriction, including without limitation
00017  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00018  * and/or sell copies of the Software, and to permit persons to whom the
00019  * Software is furnished to do so, subject to the following conditions:
00020  *
00021  * The above copyright notice and this permission notice shall be included
00022  * in all copies or substantial portions of the Software.
00023  *
00024  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00025  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00026  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00027  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00028  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00029  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00030  * DEALINGS IN THE SOFTWARE.
00031  ******************************************************************************
00032  *
00033  * $Log: sfcschemarowsets.h,v $
00034  * Revision 1.4  2006/03/31 17:57:32  fwarmerdam
00035  * header updates
00036  *
00037  * Revision 1.3  2001/11/01 17:06:31  warmerda
00038  * convert use of CRestrictions to deriving from CSchemaRowset
00039  *
00040  * Revision 1.2  1999/11/18 19:02:20  warmerda
00041  * expanded tabs
00042  *
00043  * Revision 1.1  1999/06/10 19:34:33  warmerda
00044  * New
00045  *
00046  */
00047 
00048 #ifndef SFCSCHEMAROWSETS_H_INCLUDED
00049 #define SFCSCHEMAROWSETS_H_INCLUDED
00050 
00051 #include <atldbsch.h>
00052 
00053 #include "oledbgis.h"
00054 
00055 /************************************************************************/
00056 /*                        COGISFeatureTableInfo                         */
00057 /*                                                                      */
00058 /*      Hardbound record for the OGIS Feature Tables schema rowset.     */
00059 /*      Modelled on CTableInfo.                                         */
00060 /************************************************************************/
00061 class COGISFeatureTableInfo
00062 {
00063 public:
00064 // Constructors
00065         COGISFeatureTableInfo()
00066         {
00067                 memset(this, 0, sizeof(*this));
00068         }
00069 
00070 // Attributes
00071 
00072         TCHAR   m_szFeatureTableAlias[129];
00073         TCHAR   m_szCatalog[129];
00074         TCHAR   m_szSchema[129];
00075         TCHAR   m_szName[129];
00076         TCHAR   m_szIdColumnName[129];
00077         TCHAR   m_szDGColumnName[129];
00078 
00079 
00080 // Binding Map
00081 BEGIN_COLUMN_MAP(COGISFeatureTableInfo)
00082         COLUMN_ENTRY(1, m_szFeatureTableAlias)
00083         COLUMN_ENTRY(2, m_szCatalog)
00084         COLUMN_ENTRY(3, m_szSchema)
00085         COLUMN_ENTRY(4, m_szName)
00086         COLUMN_ENTRY(5, m_szIdColumnName)
00087         COLUMN_ENTRY(6, m_szDGColumnName)
00088 END_COLUMN_MAP()
00089 };
00090 
00091 class COGISFeatureTables:
00092       public CSchemaRowset<CAccessor<COGISFeatureTableInfo>,0>
00093 
00094 {
00095   public:
00096     HRESULT Open(const CSession& session, bool bBind = true )
00097     {
00098         USES_CONVERSION;
00099         return CSchemaRowset<CAccessor<COGISFeatureTableInfo>,0>::
00100             Open(session, DBSCHEMA_OGIS_FEATURE_TABLES /*, bBind */);
00101     }
00102 };
00103 
00104 /************************************************************************/
00105 /*                       COGISGeometryColumnInfo                        */
00106 /*                                                                      */
00107 /*      Hardbound record for the OGIS column info schema rowset.        */
00108 /*      Modelled on CTableInfo.                                         */
00109 /************************************************************************/
00110 
00111 class COGISGeometryColumnInfo
00112 {
00113 public:
00114 // Constructors
00115         COGISGeometryColumnInfo()
00116         {
00117                 memset(this, 0, sizeof(*this));
00118         }
00119 
00120 // Attributes
00121 
00122         TCHAR   m_szCatalog[129];
00123         TCHAR   m_szSchema[129];
00124         TCHAR   m_szName[129];
00125         TCHAR   m_szColumnName[129];
00126         ULONG   m_nGeomType;
00127         ULONG   m_nSRS_ID;
00128 
00129 // Binding Map
00130 BEGIN_COLUMN_MAP(COGISGeometryColumnInfo)
00131         COLUMN_ENTRY(1, m_szCatalog)
00132         COLUMN_ENTRY(2, m_szSchema)
00133         COLUMN_ENTRY(3, m_szName)
00134         COLUMN_ENTRY(4, m_szColumnName)
00135         COLUMN_ENTRY(5, m_nGeomType)
00136         COLUMN_ENTRY(6, m_nSRS_ID)
00137 END_COLUMN_MAP()
00138 };
00139 
00140 class COGISGeometryColumnTable:
00141       public CSchemaRowset<CAccessor<COGISGeometryColumnInfo>,0>
00142 
00143 {
00144   public:
00145     HRESULT Open(const CSession& session, bool bBind = true )
00146     {
00147         USES_CONVERSION;
00148         return CSchemaRowset<CAccessor<COGISGeometryColumnInfo>,0>::
00149             Open(session, DBSCHEMA_OGIS_GEOMETRY_COLUMNS/*, bBind*/);
00150     }
00151 };
00152 
00153 /************************************************************************/
00154 /*                      COGISSpatialRefSystemsInfo                      */
00155 /*                                                                      */
00156 /*      Hardbound record for the OGIS SRS schema rowset record.         */
00157 /*      Modelled on CTableInfo.                                         */
00158 /************************************************************************/
00159 
00160 class COGISSpatialRefSystemsInfo
00161 {
00162 public:
00163 // Constructors
00164         COGISSpatialRefSystemsInfo()
00165         {
00166                 memset(this, 0, sizeof(*this));
00167         }
00168 
00169 // Attributes
00170 
00171         ULONG   m_nSRS_ID;
00172         TCHAR   m_szAuthorityName[129];
00173         ULONG   m_nAuthorityID;
00174         TCHAR   m_szSpatialRefSystemWKT[2048];
00175 
00176 // Binding Map
00177 BEGIN_COLUMN_MAP(COGISSpatialRefSystemsInfo)
00178         COLUMN_ENTRY(1, m_nSRS_ID)
00179         COLUMN_ENTRY(2, m_szAuthorityName)
00180         COLUMN_ENTRY(3, m_nAuthorityID)
00181         COLUMN_ENTRY(4, m_szSpatialRefSystemWKT)
00182 END_COLUMN_MAP()
00183 };
00184 
00185 class COGISSpatialRefSystemsTable:
00186       public CSchemaRowset<CAccessor<COGISSpatialRefSystemsInfo>,0>
00187 
00188 {
00189   public:
00190     HRESULT Open(const CSession& session, bool bBind = true )
00191     {
00192         USES_CONVERSION;
00193         return CSchemaRowset<CAccessor<COGISSpatialRefSystemsInfo>,0>::
00194             Open(session, DBSCHEMA_OGIS_SPATIAL_REF_SYSTEMS /*, bBind */);
00195     }
00196 };
00197 
00198 #endif /* ndef SFCSCHEMAROWSETS_H_INCLUDED */

Generated for GDAL by doxygen 1.4.4.