FDO .NET API Reference Feature Data Objects

mgIDescribeSchemaImp.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\mgICommandImp.h"
00022 #include "FDO\Commands\Schema\mgIDescribeSchema.h"
00023 
00024 class FdoIDescribeSchema;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA
00027 public __gc class FeatureSchemaCollection;
00028 END_NAMESPACE_OSGEO_FDO_SCHEMA
00029 
00030 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00031 
00032 /// \ingroup (OSGeoFDOCommandsSchema)
00033 /// \brief
00034 /// The IDescribeSchemaImp class is a concrete implementation of IDescribeSchema.
00035 /// The IDescribeSchema interface defines the DescribeSchema command, which
00036 /// describes the feature schemas available from the connection. The DescribeSchema
00037 /// command can describe a single schema or all schemas available from
00038 /// the connection. The Execute operation returns an FeatureSchemaCollection
00039 /// object.
00040 private __gc class IDescribeSchemaImp : public NAMESPACE_OSGEO_FDO_COMMANDS::ICommandImp, 
00041                                         public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::IDescribeSchema
00042 {
00043 public:
00044     /// \brief
00045     /// Gets the name of the schema to describe. This function is optional;
00046     /// if not specified, execution of the command will describe all schemas.
00047     /// 
00048     /// \return
00049     /// Returns the schema name
00050     /// 
00051     __property System::String* get_SchemaName();
00052 
00053     /// \brief
00054     /// Sets the name of the schema to describe. This function is optional; if not
00055     /// specified execution of the command will describe all schemas.
00056     /// 
00057     /// \param value 
00058     /// Input the schema name
00059     /// 
00060     /// \return
00061     /// Returns nothing
00062     /// 
00063     __property System::Void set_SchemaName(System::String* value);
00064 
00065     /// \brief
00066     /// Executes the DescribeSchema command and returns a 
00067     /// FeatureSchemaCollection. If a schema name is given that has 
00068     /// references to another schema, the dependent schemas will 
00069     /// be returned as well. If the specified schema name does not exist,
00070     /// the Execute method throws an exception.
00071     /// 
00072     /// \return
00073     /// Returns the schema collection representing the schema created.
00074     /// The element states for all elements will be set to SchemaElementState_Unchanged.
00075     /// Each provider-specific implementation of Execute() can ensure 
00076     /// that this is the case by 
00077     /// calling FeatureSchema::AcceptChanges() for each feature schema
00078     /// in the returned collection.
00079     /// 
00080     NAMESPACE_OSGEO_FDO_SCHEMA::FeatureSchemaCollection* Execute();
00081 
00082 public private:
00083     IDescribeSchemaImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS::ICommandImp(unmanaged, autoDelete)
00084     {
00085 
00086     }
00087 
00088     inline FdoIDescribeSchema* GetImpObj();
00089 };
00090 
00091 END_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00092 
00093 

Comments or suggestions? Send us feedback.