#region Disclaimer / License // Copyright (C) 2009, Kenneth Skovhede // http://www.hexad.dk, opensource@hexad.dk // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #endregion namespace OSGeo.MapGuide.MaestroAPI { /// <remarks/> [System.Xml.Serialization.XmlRootAttribute("FeatureProviderCapabilities", Namespace="", IsNullable=false)] public class FdoProviderCapabilities { public static readonly string SchemaName = "FdoProviderCapabilities-1.0.0.xsd"; [System.Xml.Serialization.XmlAttribute("noNamespaceSchemaLocation", Namespace="http://www.w3.org/2001/XMLSchema-instance")] public string XsdSchema { get { return SchemaName; } set { if (value != SchemaName) throw new System.Exception("Cannot set the schema name"); } } private FdoProviderCapabilitiesProvider m_provider; private FdoProviderCapabilitiesConnection m_connection; private FdoProviderCapabilitiesSchema m_schema; private FdoProviderCapabilitiesCommand m_command; private FdoProviderCapabilitiesFilter m_filter; private FdoProviderCapabilitiesExpression m_expression; private FdoProviderCapabilitiesRaster m_raster; private FdoProviderCapabilitiesTopology m_topology; private FdoProviderCapabilitiesGeometry m_geometry; /// <remarks/> public FdoProviderCapabilitiesProvider Provider { get { return this.m_provider; } set { this.m_provider = value; } } /// <remarks/> public FdoProviderCapabilitiesConnection Connection { get { return this.m_connection; } set { this.m_connection = value; } } /// <remarks/> public FdoProviderCapabilitiesSchema Schema { get { return this.m_schema; } set { this.m_schema = value; } } /// <remarks/> public FdoProviderCapabilitiesCommand Command { get { return this.m_command; } set { this.m_command = value; } } /// <remarks/> public FdoProviderCapabilitiesFilter Filter { get { return this.m_filter; } set { this.m_filter = value; } } /// <remarks/> public FdoProviderCapabilitiesExpression Expression { get { return this.m_expression; } set { this.m_expression = value; } } /// <remarks/> public FdoProviderCapabilitiesRaster Raster { get { return this.m_raster; } set { this.m_raster = value; } } /// <remarks/> public FdoProviderCapabilitiesTopology Topology { get { return this.m_topology; } set { this.m_topology = value; } } /// <remarks/> public FdoProviderCapabilitiesGeometry Geometry { get { return this.m_geometry; } set { this.m_geometry = value; } } } /// <remarks/> public class FdoProviderCapabilitiesProvider { private string m_name; private string m_value; /// <remarks/> [System.Xml.Serialization.XmlAttributeAttribute()] public string Name { get { return this.m_name; } set { this.m_name = value; } } /// <remarks/> [System.Xml.Serialization.XmlTextAttribute()] public string Value { get { return this.m_value; } set { this.m_value = value; } } } /// <remarks/> public class FdoProviderCapabilitiesGeometry { private FdoProviderCapabilitiesGeometryTypeCollection m_types; private FdoProviderCapabilitiesGeometryType1Collection m_components; private string m_dimensionality; /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Type", IsNullable=false)] public FdoProviderCapabilitiesGeometryTypeCollection Types { get { return this.m_types; } set { this.m_types = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Type", IsNullable=false)] public FdoProviderCapabilitiesGeometryType1Collection Components { get { return this.m_components; } set { this.m_components = value; } } /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(DataType="integer")] public string Dimensionality { get { return this.m_dimensionality; } set { this.m_dimensionality = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesGeometryType { /// <remarks/> None, /// <remarks/> Point, /// <remarks/> LineString, /// <remarks/> Polygon, /// <remarks/> MultiPoint, /// <remarks/> MultiLineString, /// <remarks/> MultiPolygon, /// <remarks/> MultiGeometry, /// <remarks/> CurveString, /// <remarks/> CurvePolygon, /// <remarks/> MultiCurveString, /// <remarks/> MultiCurvePolygon, } /// <remarks/> [System.Xml.Serialization.XmlTypeAttribute(TypeName="FdoProviderCapabilitiesGeometryLineType")] public enum FdoProviderCapabilitiesGeometryType1 { /// <remarks/> LinearRing, /// <remarks/> ArcSegment, /// <remarks/> LinearSegment, /// <remarks/> CurveRing, } /// <remarks/> public class FdoProviderCapabilitiesTopology { private bool m_supportsTopology; private bool m_supportsTopologicalHierarchy; private bool m_breaksCurveCrossingsAutomatically; private bool m_activatesTopologyByArea; private bool m_constrainsFeatureMovements; /// <remarks/> public bool SupportsTopology { get { return this.m_supportsTopology; } set { this.m_supportsTopology = value; } } /// <remarks/> public bool SupportsTopologicalHierarchy { get { return this.m_supportsTopologicalHierarchy; } set { this.m_supportsTopologicalHierarchy = value; } } /// <remarks/> public bool BreaksCurveCrossingsAutomatically { get { return this.m_breaksCurveCrossingsAutomatically; } set { this.m_breaksCurveCrossingsAutomatically = value; } } /// <remarks/> public bool ActivatesTopologyByArea { get { return this.m_activatesTopologyByArea; } set { this.m_activatesTopologyByArea = value; } } /// <remarks/> public bool ConstrainsFeatureMovements { get { return this.m_constrainsFeatureMovements; } set { this.m_constrainsFeatureMovements = value; } } } /// <remarks/> public class FdoProviderCapabilitiesRaster { private bool m_supportsRaster; private bool m_supportsStitching; private bool m_supportsSubsampling; /// <remarks/> public bool SupportsRaster { get { return this.m_supportsRaster; } set { this.m_supportsRaster = value; } } /// <remarks/> public bool SupportsStitching { get { return this.m_supportsStitching; } set { this.m_supportsStitching = value; } } /// <remarks/> public bool SupportsSubsampling { get { return this.m_supportsSubsampling; } set { this.m_supportsSubsampling = value; } } } /// <remarks/> public class FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition { private string m_name; private string m_description; private FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinitionDataType m_dataType; /// <remarks/> public string Name { get { return this.m_name; } set { this.m_name = value; } } /// <remarks/> public string Description { get { return this.m_description; } set { this.m_description = value; } } /// <remarks/> public FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinitionDataType DataType { get { return this.m_dataType; } set { this.m_dataType = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinitionDataType { /// <remarks/> Boolean, /// <remarks/> Byte, /// <remarks/> DateTime, /// <remarks/> Decimal, /// <remarks/> Double, /// <remarks/> Int16, /// <remarks/> Int32, /// <remarks/> Int64, /// <remarks/> Single, /// <remarks/> String, /// <remarks/> BLOB, /// <remarks/> CLOB, /// <remarks/> UniqueID, /// <remarks/> Void, } /// <remarks/> public class FdoProviderCapabilitiesExpressionFunctionDefinition { private string m_name; private string m_description; private string m_returnType; private FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinitionCollection m_argumentDefinitionList; /// <remarks/> public string Name { get { return this.m_name; } set { this.m_name = value; } } /// <remarks/> public string Description { get { return this.m_description; } set { this.m_description = value; } } /// <remarks/> public string ReturnType { get { return this.m_returnType; } set { this.m_returnType = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("ArgumentDefinition", IsNullable=false)] public FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinitionCollection ArgumentDefinitionList { get { return this.m_argumentDefinitionList; } set { this.m_argumentDefinitionList = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesExpressionFunctionDefinitionReturnType { /// <remarks/> Boolean, /// <remarks/> Byte, /// <remarks/> DateTime, /// <remarks/> Decimal, /// <remarks/> Double, /// <remarks/> Int16, /// <remarks/> Int32, /// <remarks/> Int64, /// <remarks/> Single, /// <remarks/> String, /// <remarks/> BLOB, /// <remarks/> CLOB, /// <remarks/> UniqueID, } /// <remarks/> public class FdoProviderCapabilitiesExpression { private FdoProviderCapabilitiesExpressionNameCollection m_type; private FdoProviderCapabilitiesExpressionFunctionDefinitionCollection m_functionDefinitionList; /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Name", IsNullable=false)] public FdoProviderCapabilitiesExpressionNameCollection Type { get { return this.m_type; } set { this.m_type = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("FunctionDefinition", IsNullable=false)] public FdoProviderCapabilitiesExpressionFunctionDefinitionCollection FunctionDefinitionList { get { return this.m_functionDefinitionList; } set { this.m_functionDefinitionList = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesExpressionName { /// <remarks/> Basic, /// <remarks/> Function, /// <remarks/> Parameter, } /// <remarks/> public class FdoProviderCapabilitiesFilter { private FdoProviderCapabilitiesFilterTypeCollection m_condition; private FdoProviderCapabilitiesFilterOperationCollection m_spatial; private FdoProviderCapabilitiesFilterOperation1Collection m_distance; private bool m_supportsGeodesicDistance; private bool m_supportsNonLiteralGeometricOperations; /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Type", IsNullable=false)] public FdoProviderCapabilitiesFilterTypeCollection Condition { get { return this.m_condition; } set { this.m_condition = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Operation", IsNullable=false)] public FdoProviderCapabilitiesFilterOperationCollection Spatial { get { return this.m_spatial; } set { this.m_spatial = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Operation", IsNullable=false)] public FdoProviderCapabilitiesFilterOperation1Collection Distance { get { return this.m_distance; } set { this.m_distance = value; } } /// <remarks/> public bool SupportsGeodesicDistance { get { return this.m_supportsGeodesicDistance; } set { this.m_supportsGeodesicDistance = value; } } /// <remarks/> public bool SupportsNonLiteralGeometricOperations { get { return this.m_supportsNonLiteralGeometricOperations; } set { this.m_supportsNonLiteralGeometricOperations = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesFilterType { /// <remarks/> Comparison, /// <remarks/> Like, /// <remarks/> In, /// <remarks/> Null, /// <remarks/> Spatial, /// <remarks/> Distance, } /// <remarks/> public enum FdoProviderCapabilitiesFilterOperation { /// <remarks/> Contains, /// <remarks/> Crosses, /// <remarks/> Disjoint, /// <remarks/> Equals, /// <remarks/> Intersects, /// <remarks/> Overlaps, /// <remarks/> Touches, /// <remarks/> Within, /// <remarks/> CoveredBy, /// <remarks/> Inside, /// <remarks/> EnvelopeIntersects, } /// <remarks/> [System.Xml.Serialization.XmlTypeAttribute(TypeName="FdoProviderCapabilitiesFilterGeometryOperation")] public enum FdoProviderCapabilitiesFilterOperation1 { /// <remarks/> Beyond, /// <remarks/> Within, } /// <remarks/> public class FdoProviderCapabilitiesCommand { private FdoProviderCapabilitiesCommandNameCollection m_supportedCommands; private bool m_supportsParameters; private bool m_supportsTimeout; /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Name", IsNullable=false)] public FdoProviderCapabilitiesCommandNameCollection SupportedCommands { get { return this.m_supportedCommands; } set { this.m_supportedCommands = value; } } /// <remarks/> public bool SupportsParameters { get { return this.m_supportsParameters; } set { this.m_supportsParameters = value; } } /// <remarks/> public bool SupportsTimeout { get { return this.m_supportsTimeout; } set { this.m_supportsTimeout = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesCommandName { /// <remarks/> Select, /// <remarks/> Insert, /// <remarks/> Delete, /// <remarks/> Update, /// <remarks/> DescribeSchema, /// <remarks/> ApplySchema, /// <remarks/> DestroySchema, /// <remarks/> ActivateSpatialContext, /// <remarks/> CreateSpatialContext, /// <remarks/> DestroySpatialContext, /// <remarks/> GetSpatialContexts, /// <remarks/> CreateMeasureUnit, /// <remarks/> DestroyMeasureUnit, /// <remarks/> GetMeasureUnits, /// <remarks/> SQLCommand, /// <remarks/> AcquireLock, /// <remarks/> GetLockInfo, /// <remarks/> GetLockedObjects, /// <remarks/> GetLockOwners, /// <remarks/> ReleaseLock, /// <remarks/> ActivateLongTransaction, /// <remarks/> CommitLongTransaction, /// <remarks/> CreateLongTransaction, /// <remarks/> GetLongTransactions, /// <remarks/> FreezeLongTransaction, /// <remarks/> RollbackLongTransaction, /// <remarks/> ActivateLongTransactionCheckpoint, /// <remarks/> CreateLongTransactionCheckpoint, /// <remarks/> GetLongTransactionCheckpoints, /// <remarks/> RollbackLongTransactionCheckpoint, /// <remarks/> ChangeLongTransactionPrivileges, /// <remarks/> GetLongTransactionPrivileges, /// <remarks/> ChangeLongTransactionSet, /// <remarks/> GetLongTransactionsInSet, /// <remarks/> FirstProviderCommand, /// <remarks/> DeactivateLongTransaction, } /// <remarks/> public class FdoProviderCapabilitiesSchema { private FdoProviderCapabilitiesSchemaTypeCollection m_class; private FdoProviderCapabilitiesSchemaType1Collection m_data; private bool m_supportsInheritance; private bool m_supportsMultipleSchemas; private bool m_supportsObjectProperties; private bool m_supportsAssociationProperties; private bool m_supportsSchemaOverrides; private bool m_supportsNetworkModel; /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Type", IsNullable=false)] public FdoProviderCapabilitiesSchemaTypeCollection Class { get { return this.m_class; } set { this.m_class = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Type", IsNullable=false)] public FdoProviderCapabilitiesSchemaType1Collection Data { get { return this.m_data; } set { this.m_data = value; } } /// <remarks/> public bool SupportsInheritance { get { return this.m_supportsInheritance; } set { this.m_supportsInheritance = value; } } /// <remarks/> public bool SupportsMultipleSchemas { get { return this.m_supportsMultipleSchemas; } set { this.m_supportsMultipleSchemas = value; } } /// <remarks/> public bool SupportsObjectProperties { get { return this.m_supportsObjectProperties; } set { this.m_supportsObjectProperties = value; } } /// <remarks/> public bool SupportsAssociationProperties { get { return this.m_supportsAssociationProperties; } set { this.m_supportsAssociationProperties = value; } } /// <remarks/> public bool SupportsSchemaOverrides { get { return this.m_supportsSchemaOverrides; } set { this.m_supportsSchemaOverrides = value; } } /// <remarks/> public bool SupportsNetworkModel { get { return this.m_supportsNetworkModel; } set { this.m_supportsNetworkModel = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesSchemaType { /// <remarks/> Class, /// <remarks/> FeatureClass, } /// <remarks/> [System.Xml.Serialization.XmlTypeAttribute(TypeName="FdoProviderCapabilitiesSchemaDataType")] public enum FdoProviderCapabilitiesSchemaType1 { /// <remarks/> Boolean, /// <remarks/> Byte, /// <remarks/> DateTime, /// <remarks/> Decimal, /// <remarks/> Double, /// <remarks/> Int16, /// <remarks/> Int32, /// <remarks/> Int64, /// <remarks/> Single, /// <remarks/> String, /// <remarks/> BLOB, /// <remarks/> CLOB, /// <remarks/> UniqueID, } /// <remarks/> public class FdoProviderCapabilitiesConnection { private FdoProviderCapabilitiesConnectionThreadCapability m_threadCapability; private FdoProviderCapabilitiesConnectionTypeCollection m_spatialContextExtent; private bool m_supportsLocking; private bool m_supportsTimeout; private bool m_supportsTransactions; private bool m_supportsLongTransactions; private bool m_supportsSQL; private bool m_supportsConfiguration; /// <remarks/> public FdoProviderCapabilitiesConnectionThreadCapability ThreadCapability { get { return this.m_threadCapability; } set { this.m_threadCapability = value; } } /// <remarks/> [System.Xml.Serialization.XmlArrayItemAttribute("Type", IsNullable=false)] public FdoProviderCapabilitiesConnectionTypeCollection SpatialContextExtent { get { return this.m_spatialContextExtent; } set { this.m_spatialContextExtent = value; } } /// <remarks/> public bool SupportsLocking { get { return this.m_supportsLocking; } set { this.m_supportsLocking = value; } } /// <remarks/> public bool SupportsTimeout { get { return this.m_supportsTimeout; } set { this.m_supportsTimeout = value; } } /// <remarks/> public bool SupportsTransactions { get { return this.m_supportsTransactions; } set { this.m_supportsTransactions = value; } } /// <remarks/> public bool SupportsLongTransactions { get { return this.m_supportsLongTransactions; } set { this.m_supportsLongTransactions = value; } } /// <remarks/> public bool SupportsSQL { get { return this.m_supportsSQL; } set { this.m_supportsSQL = value; } } /// <remarks/> public bool SupportsConfiguration { get { return this.m_supportsConfiguration; } set { this.m_supportsConfiguration = value; } } } /// <remarks/> public enum FdoProviderCapabilitiesConnectionThreadCapability { /// <remarks/> SingleThreaded, /// <remarks/> PerConnectionThreaded, /// <remarks/> PerCommandThreaded, /// <remarks/> MultiThreaded, } /// <remarks/> public enum FdoProviderCapabilitiesConnectionType { /// <remarks/> Static, /// <remarks/> Dynamic, } public class FdoProviderCapabilitiesGeometryTypeCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesGeometryType this[int idx] { get { return ((FdoProviderCapabilitiesGeometryType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesGeometryType value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesGeometryType1Collection : System.Collections.CollectionBase { public FdoProviderCapabilitiesGeometryType1 this[int idx] { get { return ((FdoProviderCapabilitiesGeometryType1)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesGeometryType1 value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinitionCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition this[int idx] { get { return ((FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesExpressionFunctionDefinitionArgumentDefinition value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesExpressionNameCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesExpressionName this[int idx] { get { return ((FdoProviderCapabilitiesExpressionName)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesExpressionName value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesExpressionFunctionDefinitionCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesExpressionFunctionDefinition this[int idx] { get { return ((FdoProviderCapabilitiesExpressionFunctionDefinition)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesExpressionFunctionDefinition value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesFilterTypeCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesFilterType this[int idx] { get { return ((FdoProviderCapabilitiesFilterType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesFilterType value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesFilterOperationCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesFilterOperation this[int idx] { get { return ((FdoProviderCapabilitiesFilterOperation)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesFilterOperation value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesFilterOperation1Collection : System.Collections.CollectionBase { public FdoProviderCapabilitiesFilterOperation1 this[int idx] { get { return ((FdoProviderCapabilitiesFilterOperation1)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesFilterOperation1 value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesCommandNameCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesCommandName this[int idx] { get { return ((FdoProviderCapabilitiesCommandName)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesCommandName value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesSchemaTypeCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesSchemaType this[int idx] { get { return ((FdoProviderCapabilitiesSchemaType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesSchemaType value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesSchemaType1Collection : System.Collections.CollectionBase { public FdoProviderCapabilitiesSchemaType1 this[int idx] { get { return ((FdoProviderCapabilitiesSchemaType1)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesSchemaType1 value) { return base.InnerList.Add(value); } } public class FdoProviderCapabilitiesConnectionTypeCollection : System.Collections.CollectionBase { public FdoProviderCapabilitiesConnectionType this[int idx] { get { return ((FdoProviderCapabilitiesConnectionType)(base.InnerList[idx])); } set { base.InnerList[idx] = value; } } public int Add(FdoProviderCapabilitiesConnectionType value) { return base.InnerList.Add(value); } } }