FDO .NET API Reference Feature Data Objects

mgIFeatureReader.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma once
00020 
00021 #include "FDO\Commands\Feature\mgIReader.h"
00022 
00023 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA
00024 public __gc class ClassDefinition;
00025 END_NAMESPACE_OSGEO_FDO_SCHEMA
00026 
00027 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00028 
00029 /// \ingroup (OSGeoFDOCommandsFeature)
00030 /// \interface OSGeo::FDO::Commands::Feature::IFeatureReader
00031 /// \brief
00032 /// The IFeatureReader interface provides a forward-only, read-only iterator
00033 /// for reading feature data.  A reference to an IFeatureReader is returned
00034 /// from the Select and SelectAndLock commands. Because the initial position of the
00035 /// IFeatureReader is prior to the first item, you must call
00036 /// ReadNext to begin accessing any data.
00037 public __gc __interface IFeatureReader : public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IReader
00038 {
00039 public:
00040     /// \brief
00041     /// Gets the definition of the object currently being read. If the user
00042     /// has requested only a subset of the class properties, the class 
00043     /// definition reflects what the user has asked, rather than the full class 
00044     /// definition.
00045     /// 
00046     /// \return
00047     /// Returns the class definition object.
00048     /// 
00049     NAMESPACE_OSGEO_FDO_SCHEMA::ClassDefinition* GetClassDefinition();
00050 
00051     /// \brief
00052     /// Gets a value indicating the depth of nesting for the current reader.
00053     /// The depth value increases each time GetFeatureObject is called and a new 
00054     /// reader is returned. The outermost reader has a depth of 0.
00055     /// 
00056     /// \return
00057     /// Returns the reader depth
00058     /// 
00059     System::Int32 GetDepth();
00060 
00061     /// \brief
00062     /// Gets the geometry value of the specified property as a byte array in 
00063     /// FGF format. Because no conversion is performed, the property must be
00064     /// of Geometric type; otherwise, an exception is thrown. 
00065     /// This method is a language-specific performance optimization that returns a
00066     /// pointer to the array data, rather than to an object that encapsulates
00067     /// the array.  The array's memory area is only guaranteed to be valid
00068     /// until a call to ReadNext() or Close(), or the disposal of this reader
00069     /// object.
00070     /// 
00071     /// \param name 
00072     /// Input the property name.
00073     /// 
00074     /// \return
00075     /// Returns a pointer to the byte array in FGF format.
00076     /// 
00077     System::Byte GetGeometry(System::String* name) [];
00078 
00079     /// \brief
00080     /// Gets a reference to an IFeatureReader to read the data contained in
00081     /// the object or object collection property. If the property is not an
00082     /// object property, an exception is thrown.
00083     /// 
00084     /// \param propertyName 
00085     /// Input the property name.
00086     /// 
00087     /// \return
00088     /// Returns the nested feature reader
00089     /// 
00090     NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IFeatureReader* GetFeatureObject(System::String* propertyName);
00091 };
00092 
00093 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00094 
00095 

Comments or suggestions? Send us feedback.