FDO API Reference Feature Data Objects

FDO API Reference - Managed Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
ArgumentDefinitionThe FdoArgumentDefinition class contains metadata that describes an argument to a function
ArgumentDefinitionCollectionFdoArgumentDefinitionCollection is a collection of name-value pairs
AssociationPropertyDefinitionThe FdoAssociationPropertyDefinition class derives from FdoPropertyDefinition and represents the association between two classes. The class of the associated class must already be defined in the feature schema and cannot be abstract
BatchParameterValueCollectionThe FdoBatchParameterValueCollection class represents a collection of parameter value collections that is used for optimized batch inserts
BinaryExpressionThe FdoBinaryExpression class derives from FdoExpression and represents string concatenation and the simple arithmetic operations add, subtract, multiply, and divide
BinaryLogicalOperatorThe FdoBinaryLogicalOperator class derives from FdoLogicalOperator and allows two filters to be combined via a logical "and" or a logical "or"
BLOBValueThe FdoBLOBValue class derives from FdoLOBValue and represents a literal BLOB value
BooleanValueThe FdoBooleanValue class derives from FdoDataValue and represents a Boolean value
ByteValueThe FdoByteValue class derives from FdoDataValue and represents a literal byte value
ClassThe FdoClass class derives from FdoClassDefinition and can be used to represent any type of non-spatial data within a feature schema. Typically, classes are used in the feature schema to define complex properties of other feature types by containment. However, they can also be used at global scope and instances can be created, deleted, updated, and selected through FDO commands. The Class type does not pre-define any base properties
ClassCapabilitiesThe FdoClassCapabilites class describes various capabilities for a particular FDO Class Definition and an FDO Provider datastore
ClassCollectionThe FdoClassCollection class represents a collection of FdoClassDefinition objects
ClassDefinitionFdoClassDefinition is an abstract class that derives from FdoSchemaElement. FdoClassDefinition is a base class for all concrete class types (e.g., FdoClass, FdoFeatureClass) in the Schema package
CLOBValueThe FdoCLOBValue class derives from FdoLOBValue and represents a literal CLOB value
ComparisonConditionThe FdoComparisonCondition class derives from FdoSearchCondition and can be used to test the equality of two expressions
ComputedIdentifierThe FdoComputedIdentifier class derives from FdoIdentifier and represents an expression with alias. The name or alias must be a simple name and should not be scoped or contain the the schema name. The FdoComputedIdentifier can be used to provide an alias to an expression. For example the expression Length*NumLanes can be refered to as MaxTraficCapacity. In this case, a computed identifier can be created as:
ConnectionManager
CurvePolygonCollectionCollection of CurvePolygon objects
CurveSegmentCollection
CurveStringCollectionCollection of CurvePolygon objects
DataPropertyDefinitionThe FdoDataPropertyDefinition class derives from FdoPropertyDefinition and represents simple values or collections of simple values. FdoDataPropertyDefinitions can take on any of the data types listed in the FdoDataType enumeration
DataPropertyDefinitionCollectionThe FdoDataPropertyDefinitionCollection class represents a collection of FdoDataPropertyDefinition objects
DataValueThe FdoDataValue class derives from FdoLiteralValue and represents a literal value such as a string or a number
DataValueCollectionFdoArgumentDefinitionCollection is a collection of name-value pairs
DateTimeValueThe FdoDateTimeValue class derives from FdoDataValue and represents a date or time
DecimalValueThe FdoDecimalValue class derives from FdoDataValue and represents a decimal value
DictionaryElementDictionaryElement is an element in a DictionaryElementCollection. It consists of a name-value pair
DictionaryElementCollectionDictionaryElementCollection is a collection of name-value pairs
DirectPositionCollectionCollection of DirectPosition objects
DirectPositionImplDefault implementation of IDirectPosition. DirectPositionImpl implements accessors from IDirectPosition, matching mutators, and simple data members. Assignment and exact equality operators are also provided
DisposableThis class should be used as a base class for the managed classes we define in this project since we need to manage the lifetime of unmanaged C++ FDO classes. For more information on why this is necessary see "Implementing Finalize and Dispose to Clean Up Unmanaged Resources" in the .Net Framework Reference Help
DistanceConditionThe FdoDistanceCondition class derives from FdoGeometricCondition and can be used to test whether the value of a geometric property is within or beyond a specified distance of the specified geometric value. Some feature providers may only support literal geometric values; if so, the provider's capabilities will indicate this limitation
DoubleValueThe FdoDoubleValue class derives from FdoDataValue and represents a double-precision floating point number
EnvelopeImplDefault implementation of IEnvelope. EnvelopeImpl implements accessors from IEnvelope, matching mutators, and simple data members. Assignment, exact equality operators, and utility methods are also provided
Exception
ExpressionFdoExpression is an abstract base class that forms the root of an expression tree. The FdoExpression class contains operations for converting between the well defined text representation and the object representation of an expression
ExpressionCollectionFdoArgumentDefinitionCollection is a collection of name-value pairs
FdoIoStream
FdoXmlSaxHandler
FeatureAccessManager
FeatureClassThe FdoFeatureClass class can be used to represent spatial or non-spatial features. Spatial features must have at lease one geometric property. The FdoFeatureClass type has one pre-defined base property "Bounds". The "Bounds" read-only property can be used to get the geometric boundary of the spatial feature. The value of this property will be null if the feature is not a spatial feature
FeatureClassCollectionThe FdoFeatureClassCollection class represents a collection of FdoFeatureClasse objects
FeatureSchemaThe FdoFeatureSchema class derives from FdoSchemaElement. A feature schema contains all of the classes and relationships that make up a particular data model. The FdoFeatureSchema class can be used to either create a new schema or to browse the schema end of a connection. In the later case, the FdoFeatureSchema instance is created by the DescribeSchema command. In this case the schema objects have additional properties, such as coordinate system definitions that can be useful to the application when placed in context with the schema objects
FeatureSchemaCollectionThe FdoFeatureSchemaCollection class represents a collection of FdoFeatureSchema objects
FgfGeometryFactoryThe FdoFgfGeometryFactory class is an FGF-based Geometry factory, a concrete class that implements all the members from FdoGeometryFactoryAbstract
FilterThe FdoFilter abstract class is a base class for condition and operator classes that can occur in a filter expression tree. The FdoFilter class contains operations for converting between the text and expression tree representation of a filter
FunctionThe FdoFunction class derives from FdoExpression and represents a function call. As such it defines the name of the function and the collection of arguments to be passed to it
FunctionDefinitionMetadata that describes a function and its arguments
FunctionDefinitionCollectionFdoFunctionDefinitionCollection is a collection of name-value pairs
GeometricConditionThe FdoGeometricCondition abstract class derives from FdoSearchCondition and can be used to test whether the value of a geometric property meets a particular spatial criteria. FdoGeometricCondition is the base class for FdoDistanceCondition and FdoSpatialCondition
GeometricPropertyDefinitionFdoGeometricPropertyDefinition derives from FdoPropertyDefinition and represents a geometric value. Geometric properties can take on any of the geometric types listed in the FdoGeometricType enumeration. Note: Geometric properties do not actually store the coordinate system or measure units, this is to enable the use of the same schema in different geometric locals. FdoGeometricType informs the client application what types of geometric primitives it can expect when reading a particular geometric property (and what types they can store in the property on insert/update). The client application can interpret the actual geometry values as it wants, e.g., displaying and manipulating the vertices of a Polyline as a group of independent points
GeometryCollectionCollection of CurvePolygon objects
GeometryFactoryAbstractFactory (abstract, non-pure) for Geometry objects and Geometry helper objects
GeometryValueThe FdoGeometryValue class derives from FdoLiteralValue and represents a geometric value
IAcquireLockImpThe FdoIAcquireLock interface locks feature instances of a given class that match the specified criteria. Input to the acquire lock command includes the name of the class, the lock type, the lock strategy, and filter criteria by which to identify the instances to be locked. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The lock type value is one of
IActivateLongTransactionCheckpointImpThe FdoIActivateLongTransactionCheckpoint interface defines the IActivateLongTransactionCheckpointImp command, which allows the user to activate the named checkpoint for the given long transaction. As a result, the long transaction that owns the checkpoint will be activated as well if it is not already the active long transaction. The user requires the access privilege on the long transaction for which the attempt is made to activate a checkpoint
IActivateLongTransactionImpThe FdoIActivateLongTransaction interface defines the ActivateLongTransaction command, which activates a long transaction where feature manipulation and locking commands operate on it. Input to the activate long transaction command is the long transaction name. The Execute operation activates the identified long transaction if the user has access privileges for it
IActivateSpatialContextImpThe FdoIActivateSpatialContext interface defines the ActivateSpatialContext command, which activates a specified spatial context. Input to the command is the name of the context to activate
IApplySchemaImpThe FdoIApplySchema interface defines the ApplySchema command, which creates or updates a feature schema within the DataStore. Input to the ApplySchema command is the feature schema instance to be created or updated. Optionally, a provider-specific FdoIPhysicalSchemaMapping interface can be specified that can be used to control how the feature schema elements are mapped into physical storage
IArcSegmentAbstractImpThe IArcSegmentAbstract class is an arc curve segment (abstract)
IBaseSelectImpThe FdoISelect interface defines the Select command, which queries for features of a given class that match the specified criteria. Input to the select command includes the name of the class, the list of properties to be returned, and a filter. All but the class name is optional. If the list of properties to be returned is empty then all properties are returned. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The result of executing a select command is an FdoIFeatureReader reference (see "Reading Features"). If the feature provider supports locking, then the select command can optionally lock all of the features selected, via the ExecuteWithLock method (see "Locking Commands" for more information on locking features)
IChangeLongTransactionPrivilegesImpThe FdoIChangeLongTransactionPrivileges interface defines the ChangeLongTransactionPrivileges command, which grants or revokes long transaction privileges for the named user. The ability to change the privileges might be restricted by the datastore security if the long transaction doesn’t belong to the user executing the command
IChangeLongTransactionSetImpThe FdoIChangeLongTransactionSet interface defines the ChangeLongTransactionSet command, which allows the user to add a transaction to, remove a transaction from, or clear the long transaction selection set. Users can add or remove long transactions to the selection set for which they have access privileges. Any attempt to add a long transaction for which the user does not have the access privilege will result in a failure of the command
ICircularArcSegmentImpThe ICircularArcSegment class is a circular arc curve segment
ICommandCapabilitiesImpThe FdoICommandCapabilities interface declares the feature provider's level of support for Commands
ICommandImpThe FdoICommand interface defines behavior common to all commands in FDO. In order to be executed, commands must have an association to a connection. Commands can also be optionally associated with a transaction if the connection supports transactions. The parameter values collection allows values to be specified for commands that support expressions and/or filters
ICommitLongTransactionImpThe FdoICommitLongTransaction interface defines the CommitLongTransaction command, which allows a user to execute commit operations on a long transaction. Two different commit operations are distinguished: full and partial
IConnectionCapabilitiesImpThe FdoIConnectionCapabilities interface declares the feature provider's capabilities
IConnectionImpThe FdoIConnection interface enables a feature provider to implement a connection class, which represents a unique session with a data store
IConnectionInfoImpThe FdoIConnectionInfo interface exposes information about the feature provider and provides access to the FdoIConnectionPropertyDictionary interface
IConnectionManagerImp
IConnectionPropertyDictionaryImpThe FdoIConnectionPropertyDictionary exposes a dictionary style interface to the connection properties. The properties required to establish a connection can be determined and their values can be set through this interface. Modifying connection properties through this interface dynamically modifies the connection string held by the connection object. When the connection is in an open state, calling SetProperty on this interface will result in an error
ICreateDataStoreImpThe FdoISQLCommand interface defines the SQL command, which supports the execution of a SQL statement against an underlying RDBMS. Two execute methods are provided to distinguish between statements that return table data versus those that execute non query type operations
ICreateLongTransactionCheckpointImpThe FdoICreateLongTransactionCheckpoint interface defines the CreateLongTransactionCheckpoint command, which allows the user to create a checkpoint for any long transaction to which the user has the access privileges
ICreateLongTransactionImpThe FdoICreateLongTransaction interface defines the CreateLongTransaction command which creates a long transaction that is based upon the currently active long transaction. If no long transaction is active, then the long transaction is based upon the root data. Input to the create long transaction command includes a name and description for the new long transaction
ICreateMeasureUnitImpThe FdoICreateMeasureUnit interface defines the CreateMeasureUnit command, which creates or updates a measurement unit. Input to the command includes the abbreviation, name, description, measure type, base unit, and scale factor that defines the measure unit. The update existing flag indicates how the command should behave in the presence of an existing measure unit. If it is false, and the specified measure unit already exists, command execution will fail. If it is true, the command will either create a new measure unit or update an existing one
ICreateSpatialContextImpThe FdoICreateSpatialContext interface defines the CreateSpatialContext command, which creates a new spatial context. Input to the command includes the name, description, coordinate system, extent type, and extent for the new context. Command execution will fail if the context already exists, or if the coordinate system or extent type is not supported by the provider
ICurveAbstractImpCurve Geometry type (concrete). ICurveAbstractImp is the most general curve type
ICurvePolygonImpCurvePolygon geometry type. This type is defined by one exterior boundary and zero or more interior boundaries. Each of the boundaries must be a closed, simple Ring
ICurveSegmentAbstractImpConcrete geometric Curve Segment object. This class is used strictly as a component of curves and, thus, does not inherit from IGeometry
ICurveStringImpCurveString Geometry type. ICurveString is the most general non-abstract curve type. It is defined by an ordered collection of contiguous curve segments
IDataReaderImpThe FdoIDataReader interface provides a forward-only, read-only iterator for reading relational table data. A reference to an FdoIDataReader is returned from the SQLCommands ExecuteReader method. The initial position of the FdoIDataReader interface is prior to the first item. Thus, you must call ReadNext to begin accessing any data
IDataStorePropertyDictionaryImpThe FdoISQLCommand interface defines the SQL command, which supports the execution of a SQL statement against an underlying RDBMS. Two execute methods are provided to distinguish between statements that return table data versus those that execute non query type operations
IDataStoreReaderImpThe FdoISQLCommand interface defines the SQL command, which supports the execution of a SQL statement against an underlying RDBMS. Two execute methods are provided to distinguish between statements that return table data versus those that execute non query type operations
IDeactivateLongTransactionImpThe FdoIDeactivateLongTransaction interface defines the DeactivateLongTransaction command, which deactivates the active long transaction where feature manipulation commands operate on it. If the active long transaction is the root long transaction, then no long transaction will be deactivated
IDeleteImpThe FdoIDelete interface defines the Delete command, which deletes instances of a given class that match the specified criteria. Input to the delete command includes the name of the class, and filter criteria by which to identify the instances to be deleted. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The delete command can delete instances at global scope or instances/values nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e. instances within a object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name
IdentifierThe FdoIdentifier class derives from FdoExpression and represents an identifier, such as a class name or property name. Identifiers can be just a name or they can be scoped to a particular context. For example, consider a Person class that has a DataProperty called "Name" and a ClassProperty called "Address". The Address class has DataProperties "Street", "City", and "Zip Code". When manipulating instances of a Person, the "Name" property can be referred to by the property name "Name". The "City" property is scoped inside the "Address" property, hence must be referred to by the property name "Address.City"
IdentifierCollectionThe FdoIdentifierCollection class represents a collection of FdoIdentifier objects
IDescribeSchemaImpThe FdoIDescribeSchema interface defines the DescribeSchema command, which describes the feature schemas available from the connection. The DescribeSchema command can describe a single schema or all schemas available from the connection. The Execute operation returns an FdoFeatureSchemaCollection object
IDescribeSchemaMappingImpThe FdoIDescribeSchemaMapping interface defines the DescribeSchemaMapping command, which describes the logical to physical schema mappings for feature schemas available from the connection. The DescribeSchemaMapping command can describe the mappings for a single schema or all schemas available from the connection. The Execute operation returns an FdoPhysicalSchemaMappingCollection object
IDestroyDataStoreImpThe FdoISQLCommand interface defines the SQL command, which supports the execution of a SQL statement against an underlying RDBMS. Two execute methods are provided to distinguish between statements that return table data versus those that execute non query type operations
IDestroyMeasureUnitImpThe FdoIDestroyMeasureUnit interface defines the DestroyMeasureUnit command, which deletes a measurement unit. Input to the command is simply the abbreviation of the measure unit to be destroyed
IDestroySchemaImpThe FdoIDestroySchema interface defines the DestroySchema command, which destroys a schema definition, including all class definitions, relationship definitions, and instance data within it. If elements in other schemas refer to the schema to be destroyed command, execution will fail. Input to the delete schema command is the name of the schema to be destroyed
IDestroySpatialContextImpThe FdoIDestroySpatialContext interface defines the DestroySpatialContext command, which destroys an existing spatial context. Input to the command is the name of the context to destroy. Destroying a spatial context destroys all data stored in that context
IDirectPositionImpThe IDirectPosition class is a direct position object. IDirectPosition is a simple coordinate position in any allowed dimension. The actual object may have several implementations, depending on the dimension and other factors. This is a lightweight helper type for Geometries in the Geometry package. Note: It does not derive from IGeometry
IDisposableCollectionThe FdoIDisposableCollection class represents a collection of FdoIDisposable objects
IEnvelopeImpThree-dimensional, axis-aligned box. This is a helper type for Geometries, and does not itself inherit from IGeometry. This type is typically used to record the "extents" of a shape, also known in 2 dimensions as an MBR ("Minimum Bounding Rectangle"). The box may be initially empty, meaning that no dimensions have an assigned value. each individual extent may be unassigned, in which case using its accessor will return numeric_limits<double>::quiet_NaN()
IExpressionCapabilitiesImpThe FdoIExpressionCapbilities interface declares the feature provider's level of support for FdoExpression classes
IExpressionProcessorImpThe FdoIExpressionProcessor interface can be used to process the nodes in an Expression tree. It declares an process operation for each concrete class in the FdoExpression hierarchy. Providers or client applications can create classes that realize this interface to do something meaningful with an FdoExpression hierarchy. For example, an RDBMS feature provider implements a processor class to convert an FdoExpression hierarchy to the SQL equivalent syntax
IFeatureCommandImpThe FdoIFeatureCommand interface defines the behavior common to all commands that operate on feature instances. The features to be operated on are identified by their class and a filter. If the feature provider supports inheritance in the schema capabilities, then the command will operate on instances of that class and any derived classes. In addition, feature commands can operate on related features if one or more relation directives are specified. Each relation directive specifies the relation to follow and how many levels of depth to follow it
IFeatureReaderImpThe FdoIFeatureReader interface provides a forward-only, read-only iterator for reading feature data. A reference to an FdoIFeatureReader is returned from the Select and SelectAndLock commands. Because the initial position of the FdoIFeatureReader is prior to the first item, you must call ReadNext to begin accessing any data
IFilterCapabilitiesImpThe FdoIFilterCapabilities interface declares the feature provider's level of support for FdoFilter classes
IFilterProcessorImpThe FdoIFilterProcessor interface can be used to process the nodes in a filter tree. It declares a process operation for each concrete class in the filter hierarchy. Providers or client applications can create classes that realize this interface to do something meaningful with a filter hierarchy. For example, a RDBMS feature provider can implement a processor class to convert a filter hierarchy to the SQL equivalent syntax
IFreezeLongTransactionImpThe FdoIFreezeLongTransaction interface defines the FreezeLongTransaction command, which freezes or thaws a long transaction. When a long transaction is frozen the user who froze it gains exclusive access to it. Other users can read it, but not apply any updates. Input to the FreezeLongTransaction command is the long transaction name and the operation to perform. The Execute method performs the specified operation on the identified long transaction if the user has access privileges for the indicated long transaction
IGeometricAggregateAbstractImpThe IGeometricAggregateAbstract class is an aggregate Geometry (abstract) type. IGeometricAggregateAbstract is a single Geometry that is a collection of other geometries. There is no requirement that the geometries interact spatially. Non-abstract derived types should have at least one accessor that returns objects of the appropriate contained type
IGeometryCapabilitiesImpThe FdoIGeometryCapabilities class delineates available support for raster processing from a provider
IGeometryImpDefines the properties and methods common to all geometric types
IGetLockedObjectsImpThe FdoIGetLockedObjects interface defines the GetLockedObjects command, which gets a list of all objects that are currently locked by a particular user
IGetLockInfoImpThe FdoIGetLockInfo interface defines the GetLockInfo command, which gets a lock information for the feature instances of a given class that match the specified filter. If the filter is empty, all feature instances of the given class are selected
IGetLockOwnersImpThe FdoIGetLockOwners interface defines the GetLockOwners command, which gets a list of all lock owners. A connected user has the status of being a lock owner as does a user who has released all of his locks
IGetLongTransactionCheckpointsImpThe FdoIGetLongTransactionCheckpoints interface defines the GetLongTransactionCheckpoints command, which allows the user to enumerate the checkpoints for a given long transaction. To execute the operation, the user must have access privilege to the long transaction
IGetLongTransactionPrivilegesImpThe FdoIGetLongTransactionPrivileges interface defines the GetLongTransactionPrivileges command, which allows the user to enumerate the privileges of a long transaction established for each user. The ability to successfully execute the command might be restricted by the datastore security if the long transaction doesn’t belong to the user executing the command
IGetLongTransactionsImpThe FdoIGetLongTransactions interface defines the GetLongTransactions command. It allows a user to retrieve long transaction information for all or a specific long transaction. The command returns a FdoILongTransactionReader object enumerating the identified long transactions
IGetLongTransactionsInSetImpThe FdoIGetLongTransactionsInSet interface defines the GetLongTransactionsInSet command, which allows the user to enumerate the list of versions participating in the long transaction selection set
IGetMeasureUnitsImpThe FdoIGetMeasureUnits interface defines the GetMeasureUnits command, which enumerates the existing measurement units
IGetSpatialContextsImpThe FdoIGetSpatialContexts interface defines the GetSpatialContexts command, which enumerates the existing spatial contexts
IInsertImpThe FdoIInsert interface defines the Insert command, which inserts a new instance of a given class. Input to the insert command includes the name of the class and a collection of property values. Properties that are not specified and do not have a default value will be assigned a null value or an exception will be thrown if the property is required. The insert command can insert instances at global scope or instances nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e. instances within a object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name
ILinearRingImpLinear ring helper type. The shape of ILinearRingImp is the set of positions defined by the contained collection, plus linear interpolation between consecutive points
ILineStringImpLineString Geometry type. The shape of ILineStringImp is the set of positions defined by the contained collection, plus linear interpolation between consecutive points
ILineStringSegmentImpLineString curve segment type. The shape of ILineStringSegmentImp is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. This is a helper type for Geometries in the Geometry package. Note: It does not derive from IGeometry
IListDataStoresImpThe FdoIListDataStores interface defines the list datastores command, which provides a way to get a list of datastores at a particular server
ILockConflictReaderImpThe FdoILockConflictReader interface provides forward only, read-only functionality for identifying features that have a lock conflict. Features with a lock conflict are those that the caller is attempting to modify that are already locked by someone else
ILockedObjectReaderImpThe FdoILockedObjectReader interface provides forward-only, read-only functionality to identify lock information for a set of objects
ILockOwnersReaderImpThe FdoILockOwnersReader interface provides forward-only, read-only functionality for identifying users. A connected user has status of lock owner even if he has no locks or has released his locks
ILongTransactionCheckpointReaderImpThe FdoILongTransactionCheckpointReader interface provides forward only, read-only functionality for enumerating long transaction checkpoints. A reference to an FdoILongTransactionCheckpointReader is returned from the GetLongTransactionCheckpoints command. The initial position of the FdoILongTransactionCheckpointReader is prior to the first item. Thus, you must call ReadNext to begin accessing any data
ILongTransactionConflictDirectiveEnumeratorImpThe FdoILongTransactionConflictDirective interface is used to specify how conflict should be resolved for a particular object
ILongTransactionPrivilegeReaderImp
ILongTransactionReaderImpThe FdoILongTransactionReader interface provides forward only, read-only functionality for enumerating long transactions. A reference to an FdoILongTransactionReader is returned from the GetLongTransactions command. The initial position of the FdoILongTransactionReader is prior to the first item. Thus, you must call ReadNext to begin accessing any data
ILongTransactionSetReaderImpThe FdoILongTransactionSetReader interface provides forward only, read-only functionality for enumerating the versions in the long transaction selection set. A reference to an FdoILongTransactionSetReader is returned from the GetLongTransactionsInSet command. The initial position of the FdoILongTransactionSetReader is prior to the first item. Thus, you must call ReadNext to begin accessing any data
IMeasureUnitReaderImpThe FdoIMeasureUnitReader interface provides forward-only, read-only functionality for enumerating measurement units. A reference to an FdoIMeasureUnitReader interface is returned from the GetMeasureUnits command. The initial position of the FdoIMeasureUnitReader is prior to the first item. Thus, you must call ReadNext to begin accessing any data
IMultiCurvePolygonImpMulti-CurvePolygon aggregate Geometry type
IMultiCurveStringImpMulti-CurveString collection Geometry type. The curves contained here do not have to be contiguous, nor spatially interact in any other way
IMultiGeometryImpHeterogeneous MultiGeometry type. One MultiGeometry containing another MultiGeometry is not supported
IMultiLineStringImpMulti-LineString collection geometry type. The curves contained here do not have to be contiguous, nor spatially interact in any other way
IMultiPointImpMulti-point aggregate Geometry type
IMultiPolygonImpMulti-polygon aggregate Geometry type
InConditionThe FdoInCondition class derives from FdoSearchCondition and can be used to test if the value of a specified data property is within a given set of literal values
Int16ValueThe FdoInt16Value class derives from FdoDataValue and represents a 16-bit signed integer value
Int32ValueThe FdoInt32Value class derives from FdoDataValue and represents a 32-bit signed integer value
Int64ValueThe FdoInt64Value class derives from FdoDataValue and represents a 64-bit signed integer value
IoByteStreamReaderIoByteStreamReader
IoCharStreamReaderIoCharStreamReader
IoFileStreamIoFileStream provides streamed I/O on a disk file
IoMemoryStreamIoMemoryStream provides streamed I/O to and from memory
IoStreamIoStream defines the interface for all FDO streams. Streamed I/O support for various locations, such as files, memory, etc. can be provided by classes that implement this interface
IoTextReaderIoTextReader reads from a binary stream containing UTF8 characters. It formats these UTF8 characters into Unicode wide characters. This class is not yet complete, since the Read functions still have to be added
IoTextWriterIoTextWriter writes Unicode wide character text to a binary stream. The text is written in UTF8 format
IPointImpPoint Geometry type
IPolygonImpPolygon Geometry type. IPolygonImp is defined by one exterior boundary and zero or more interior boundaries. Each of the boundaries must be a closed, simple LinearRing
IProviderRegistryImp
IRasterCapabilitiesImpThe FdoIRasterCapabilities class delineates available support for raster processing from a provider
IRasterImpThe FdoIRaster specifies the data type and organization of raster data retrieved and stored. Using this class and the image extents in width and length, the binary format of the image data returned by and accepted by the IoStreamReader class can be interpreted
IRasterPropertyDictionaryImpThe FdoIRasterPropertyDictionary exposes a dictionary style interface to the raster properties. Through this interface the non-standard properties of a raster image can be determined and their values can be retrieved and set. Data values are exchanged through the FdoDataValue object to accommodate various data types, boolean, integer, double, string etc
IReaderImpThe FdoIFeatureReader interface provides a forward-only, read-only iterator for reading feature data. A reference to an FdoIFeatureReader is returned from the Select and SelectAndLock commands. Because the initial position of the FdoIFeatureReader is prior to the first item, you must call ReadNext to begin accessing any data
IReleaseLockImpThe FdoIReleaseLock interface defines the ReleaseLock command, which releases locks from feature instances of a given class that match the specified criteria. Input to the release lock command includes the name of the class and filter criteria by which to identify the instances to be unlocked. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The ability to successfully execute the command might be restricted by the datastore security if the lock doesn’t belong to the user executing the command
IRingAbstractImpRing Geometry helper type (abstract). FdoIRingAbstract is the most general ring type. It is similar to CurveAbstract, but is always closed
IRingImpRing Geometry helper type. This is the most general non-abstract ring type. FdoIRing is defined by an ordered collection of contiguous curve segments
IRollbackLongTransactionCheckpointImpThe FdoIRollbackLongTransactionCheckpoint interface defines the RollbackLongTransactionCheckpoint command, which allows the user to roll back changes to a named checkpoint for the given long transaction. The user requires the access privilege on the long transaction for which the user tries to perform the operation
IRollbackLongTransactionImpThe FdoIRollbackLongTransaction interface defines the RollbackLongTransaction command, which allows a user to execute rollback operations on a long transaction. Two different rollback operations are distinguished: full and partial
ISchemaCapabilitiesImpThe FdoISchemaCapbilities interface declares the feature provider's level of support for the Feature Schema
ISelectAggregatesImpThe FdoISelectAggregate interface defines a Select command that handle selection of properties that include the use of aggregate functions. This command differs from the FdoISelect command in a number of ways. It handles selection of properties that are aggregate functions and supports selecting distinct property values. It also includes grouping criteria. The execute method returns an IDataReader which is not tied to a specific class. Unlike Select, FdoISelectAggregate does not include any locking functions
ISelectImpThe FdoISelect interface defines the Select command, which queries for features of a given class that match the specified criteria. Input to the select command includes the name of the class, the list of properties to be returned, and a filter. All but the class name is optional. If the list of properties to be returned is empty then all properties are returned. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The result of executing a select command is an FdoIFeatureReader reference (see "Reading Features"). If the feature provider supports locking, then the select command can optionally lock all of the features selected, via the ExecuteWithLock method (see "Locking Commands" for more information on locking features)
ISpatialContextReaderImpThe FdoISpatialContextReader interface provides forward-only, read-only functionality for enumerating spatial contexts. A reference to an FdoISpatialContextReader is returned from the GetSpatialContexts command. The initial position of the FdoISpatialContextReader interface is prior to the first item. Thus, you must call ReadNext to begin accessing any data
ISQLCommandImpThe FdoISQLCommand interface defines the SQL command, which supports the execution of a SQL statement against an underlying RDBMS. Two execute methods are provided to distinguish between statements that return table data versus those that execute non query type operations
ISQLDataReaderImpThe FdoISQLDataReader interface provides a forward-only, read-only iterator for reading relational table data. A reference to an FdoISQLDataReader is returned from the SQLCommands ExecuteReader method. The initial position of the FdoISQLDataReader interface is prior to the first item. Thus, you must call ReadNext to begin accessing any data
IStreamReaderImpThe IStreamReader class is a top level interface for stream reader classes. The API it provides allows the user to read large streams of data in blocks of items
ISurfaceAbstractImpSurface (concrete) Geometry type
ITopologyCapabilitiesImpFDO supports properties that inform the client code about capabilities that may vary between providers
ITransactionImpThe FdoITransaction interface represents a transaction to be performed in a DataStore, and is implemented by feature providers that support transactions
IUpdateImpThe FdoIUpdate interface defines the Update command, which modifies instances of a given class that match the specified criteria. Input to the update command includes the name of the class, the list of property name/value pairs to be updated, and the filter criteria by which to identify the instances to be updated. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The update command can update instances at global scope or nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e., instances within an object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name
LinearRingCollectionCollection of ILinearRing objects
LineStringCollectionCollection of LineString objects
LiteralValueFdoLiteralValue is an abstract base class that derives from FdoValueExpression to form the root for all literal value types
LOBValueThe FdoLOBValue class derives from FdoDataValue and represents a literal BLOB value
LogicalOperatorFdoLogicalOperator is an abstract base class. FdoBinaryLogicalOperator and FdoUnaryLogicalOperator derive from the FdoLogicalOperator class
NetworkClassFdoNetworkClass derives from FdoClassDefinition and can be used to represent a linear network. The FdoNetworkClass type has 2 pre-defined base properties. The first is a FdoBoolean type called "Directed". And the second is a FdoObjectPropertyDefinition of an ordered collection called "Layers". The "Directed" property is used to indicate if the network is directed or undirected. The network is directed if the Directed property is set to true. Otherwise, it is undirected. The Layers property is used to contain the ordered list of layers. The class of the layers object property must be of type FdoNetworkLayer
NetworkFeatureClassFdoNetworkFeature is an abstract class that derives from FdoFeatureClass and is a base for the FdoNetworkNodeFeature and FdoNetworkLinkFeature
NetworkLayerClassFdoNetworkLayerClass derives from FdoClassDefinition and can be used to represent a network layer
NetworkLinkFeatureClassFdoNetworkLinkFeature derives from FdoNetworkFeature and can be used to represent a logical link feature
NetworkNodeFeatureClassFdoNetworkNodeFeature derives from FdoNetworkFeature and can be used to represent a logical node feature
NullConditionThe FdoNullCondition class derives from FdoSearchCondition and can be used to test if the value of a specified data property is null
ObjectFactory
ObjectPropertyDefinitionThe FdoObjectPropertyDefinition class derives from FdoPropertyDefinition and represents containment of an object or a collection of objects within another class. The class of the contained object must already be defined in the feature schema and cannot be abstract
ParameterThe FdoParameter class derives from FdoValueExpression and represents a substitution parameter in the expression. FdoParameters are represented by a name: when expressions are evaluated, the caller must supply a value to be bound to each parameter name
ParameterValueThe FdoParameterValue class specifies a value for a particular parameter. Instances of this class are used to specify a value to bind to a parameter when a command is executed
ParameterValueCollectionThe FdoParameterValueCollection class represents a collection of FdoIdentifier objects
PhysicalClassMappingFdoPhysicalClassMapping is an abstract class that acts as a base class for all Physical Schema Mapping class overrides
PhysicalElementMappingFdoPhysicalElementMapping is an abstract class that acts as a base class for all Physical Schema Mapping Override classes. FDO also provides a number of sub-classes for particular types of Provider-specific override classes:
PhysicalPropertyMappingFdoPhysicalPropertyMapping is an abstract class that acts as a base class for all Physical Schema Mapping property overrides
PhysicalSchemaMapping
PhysicalSchemaMappingCollectionFdoPhysicalSchemaMappingCollection defines a collection of Schema Override sets. This is a generic collection which can contain override sets for different FDO Providers
PointCollectionCollection of Point objects
PolygonCollectionCollection of Polygon objects
PropertyDefinitionFdoPropertyDefinition is an abstract class that derives from FdoSchemaElement. FdoPropertyDefinition is the base class of FdoDataPropertyDefinition, FdoGeometricPropertyDefinition, and FdoObjectPropertyDefinition
PropertyDefinitionCollectionThe FdoPropertyDefinitionCollection class represents a collection of FdoPropertyDefinition objects
PropertyValueThe FdoPropertyValue class represents a property name/value pair. Instances of this class are used to specify or hold onto a reference to a property name and the properties value
PropertyValueCollectionThe FdoPropertyValueCollection class represents a collection of FdoIdentifier objects
PropertyValueConstraintFdoPropertyValueConstraint is an abstract class that derives from FdoIDisposable. FdoPropertyValueConstraint is the base class of FdoPropertyValueConstraintRange and FdoPropertyValueConstraintList
PropertyValueConstraintListFdoPropertyValueConstraintList is used to specify a list of allowed values for a particular property. It can be used for all data property types except for Boolean, BLOB, or CLOB. This constraint is represented by a list of values of the same type as the corresponding data property. The list cannot be empty. The list could be a single value. While that may not seem very useful it could serve as a temporary way to enforce a single value for a property, e.g. for a particular customer, Parcel.State is always ‘CA? In this case, the definer of the property definition probably should also set the default value to be the same, unless it can be null. The list does not need to be ordered. However, a provider may choose to reorder the list so the list that is returned when a user gets the definition of this constraint for a property may be different than the order that was given when defined. E.g. defined as (12, 8, 24), but returned as (8, 12, 24). If the list has duplicate values, the provider may choose to eliminate duplicates from the list. If the data property definition allows nulls, a null value is considered as being valid regardless of this list of valid values. The list of valid values should not include the null value itself, but leave the specification of whether null is allowed to the null value constraint. If the data property definition includes a non-null default value, then that value should be one of the values in the list. If both a valid values list constraint and a unique constraint on the same property are included, then the side effect is that there will be an upper limit of the number of objects of that class that have non-null values for the property
PropertyValueConstraintRangeFdoPropertyValueConstraintRange is used to specify minimum and / or maximum allowed values for a particular property. It can be used for all data property types except for Boolean, BLOB, or CLOB. One or the other or both of MinValue and MaxValue must be specified. If both are specified, then MaxValue must be greater than or equal to MinValue and if either MinInclusive or MaxInclusive are false, then MaxValue must be greater than MinValue. MinValue and MaxValue if specified must be valid values for the property type. E.g. if the property is decimal(4,0), then the maximum possible MaxValue is 9999. If the data property definition includes a non-null default value, then this constraint is applied to that value as well. If the data property definition allows nulls, a null value is considered as being valid regardless of the range constraint
ProviderProvides information about a feature provider, including name, description, library, and version information
ProviderCollectionThe FdoProviderCollection class represents a collection of Provider string
ProviderNameTokens
ProviderRegistry
RasterDataModelThe FdoRasterDataModel specifies the data type and organization of raster data retrieved and stored. Using this class and the image extents in width and length, the binary format of the image data returned by and accepted by the FdoIStreamReader class can be interpreted
RasterPropertyDefinitionThe FdoRasterPropertyDefinition has the information needed to create or completely describe a raster property. This class encapsulates the information necessary to insert a 'new' raster, in the absence of any other information, for the properties defined using this schema element
ReadOnlyArgumentDefinitionCollectionFdoArgumentDefinitionCollection is a collection of name-value pairs
ReadOnlyDataPropertyDefinitionCollectionThe FdoReadOnlyDataPropertyDefinitionCollection class represents a collection of FdoDataPropertyDefinition objects
ReadOnlyPropertyDefinitionCollectionThe FdoReadOnlyPropertyDefinitionCollection class represents a collection of FdoPropertyDefinition objects
ReadOnlySignatureDefinitionCollection
RingCollectionCollection of Ring objects
SchemaSchema is a utility class for handling the GML 2.1.2 version of the GML Sschema
SchemaAttributeDictionaryThe FdoSchemaAttributeDictionary class maintains a dictionary of named attributes that provide a generic extensibility mechanism for objects in the feature schema. This mechanism can be used to dynamically extend schema elements in either an application- or provider-specific manner
SchemaElementFdoSchemaElement is an abstract class that acts as a base class for all classes in the Schema package
SearchConditionFdoSearchCondition is an abstract base class. FdoSpatialCondition, FdoComparisonCondition, FdoLikeCondition, FdoInCondition, and FdoNullCondition derive from the FdoSearchCondition class
SignatureDefinition
SignatureDefinitionCollection
SingleValueThe FdoSingleValue class derives from FdoDataValue and represents a single precision floating point number
SpatialConditionThe FdoSpatialCondition class derives from FdoGeometricCondition and can be used to test whether the value of a geometric property (referenced using the name of the property) and another geometric value satisfy the spatial relationship implied by the operation. Some feature providers may only support literal geometric values; if so, the provider's capabilities will indicate this limitation
SpatialGridTransform
SpatialUtility
StringCollectionStringCollection is a collection of name-value pairs
StringElementStringElement is an element in a StringCollection
StringToAnsi
StringToUni
StringValueThe FdoStringValue class derives from FdoDataValue and represents a literal string
TopoFeaturePropertyDefinitionFdoTopoFeaturePropertyDefinition derives from FdoPropertyDefinition and its values can be used to relate topological primitives to one or more application domain features. One can use the short form "TopoFeature" to refer to these properties. The semantics of this property are similar to Object properties. One uses FdoIFeatureReader::GetObject() to retrieve values
TopoGeometryPropertyDefinition
Topology
UnaryExpressionThe FdoUnaryExpression class derives from FdoExpression and allows negation of arithmetic expressions
UnaryLogicalOperatorThe FdoUnaryLogicalOperator class derives from FdoLogicalOperator and allows a logical "Not" to be performed against a filter
UniqueConstraintFdoUniqueConstraint can be used to specify that a property or list of properties taken together have unique values for all objects of that class in a datastore. A unique constraint that is based on a list of two or more properties is called a composite unique constraint. This constraint type applies to all data property types except for Boolean, BLOB, and CLOB. A Boolean property can be included if it’s part of a composite unique constraint
UniqueConstraintCollectionThe FdoUniqueConstraintCollection class represents a collection of FdoUniqueConstraint objects
ValueExpressionFdoValueExpression is an abstract base class that derives from FdoExpression to form the root for all value expression types
ValueExpressionCollectionFdoArgumentDefinitionCollection is a collection of name-value pairs
VirtualFdoIoStream
VirtualObject< WrapperType, Base >
VirtualSaxHandler
WrapperCallWrapper
XmlAttributeXmlAttribute contains the name and value of a single attribute from an XML document
XmlAttributeCollectionXmlAttributeCollection is a collection of name-value pairs
XmlCharDataHandlerXmlCharDataHandler is convenience class for reading XML element content. When XmlReader encounters the start of an element with simple content, an object of this class can be constructed and pushed onto the XmlReader's SAX handler stack. When the end of the element is reached, the object will contain all of the element's content
XmlClassMappingXmlClassMapping describes GML to FDO mappings for a particular FDO class Only mappings that cannot be represented in FDO are described
XmlClassMappingCollectionFdoXmlClassMappingCollection is a collection of Fdo-GML Class Mapping objects
XmlContextDefault context for deserializing from XML documents via FdoXmlDeserializable
XmlCopyHandlerXmlCopyHandler can be used to copy a set of elements from one XML document to another. It can be created and set as the SAX Handler for an XML Reader on the document to copy from. An XML Writer to the document to copy to is passed to one of the Create methods below. The elements to copy will be inserted at the XML writer's current position
XmlDeserializableFdoXmlDeserializable provides the ability to deserialize an FDO object from an XML Document. Deserialization support can be added to any class by basing it on FdoXmlDeserializable and implementing the XmlSaxHander callbacks
XmlElementMappingFdoXmlElementMapping describes GML to FDO mappings for a particular GML Schema element. Only mappings that cannot be represented in FDO are described
XmlElementMappingCollectionFdoXmlElementMappingCollection is a collection of Fdo-GML Class Mapping objects
XmlFeatureContextFdoXmlFeatureContext provides contextual information to the FdoXmlFeatureHandler callback implementations when an XML document parse is in progress. This class provides very rudimentary functionality such as error reporting and access to the FdoXmlFeaturePropertyReader doing the parse. Applications can pass extra information by sub-classing from this class
XmlFeatureFlagsFdoXmlFeatureFlags extends FdoXmlFlags to specify flags specific to feature serialization
XmlFeatureHandlerFdoXmlFeatureHandler defines the callback interface for reading features from XML. It is not an interface in the strict sense, since each function has a default implementation that does nothing. Implementors can override these callbacks to customize the handling of feature fragments parsed by FdoXmlFeaturePropertyReader. Note that the default FeatureProperty implementations log errors in certain circumstances. Therefore, these functions must be overridden to avoid these errors and indicate that these types of properties are being handled by the caller
XmlFeaturePropertyReaderFdoXmlFeaturePropertyReader reads features from an XML document. The reading is event driven. As features and properties within features are encountered, the invoker is notified through the FdoXmlFeatureHandler interface. This class is similar to FdoXmlFeatureReader except that it provides better performance
XmlFeaturePropertyWriterFdoXmlFeaturePropertyWriter writes features in GML format. It is similar to FdoXmlFeatureWriter, except that it provides better performance. However, the caller is responsible for ensuring that properties are written in proper order
XmlFeatureReaderFdoXmlFeatureReader reads GML format features from a XML document. The reading is done procedurally, rather than through events
XmlFeatureSerializerThis static class provides the ability to serialize and deserialize features to and from GML
XmlFeatureWriterFdoXmlFeatureWriter writes features to an XML document. The features are written in GML format. Each feature is written in 3 steps:
XmlFlagsFdoXmlFlags defines various options for serializing and deserializing FDO element to and from XML Documents
XmlNameCollectionHandlerFdoXmlNameCollectionHandler is a class for serializing and deserializing fdo:NameCollectionType elements
XmlReaderXmlReader reads an XML document from a text or binary stream. As various document fragments are read, it calls the appropriate SAX Handler callback on the current SAX Handler. This object maintains a stack of SAX Handlers, with the current one being the top handler in the stack. Callers provide this object with SAX Handlers to customize the processing of the XML document. SAXHandler callbacks also provide a means to push other handlers onto the stack. For example, a SAX Handler for a particular XML element might push another handler to read a particular sub-element
XmlSaxContextXmlSaxContext provides contextual information to the SaxHandler callback implementations when an XML document parse is in progress. This class provides very rudimentary functionality such as error reporting and access to the XmlReader doing the parse. Applications can pass extra information by sub-classing from this class
XmlSaxHandlerXmlSaxHandler defines the SAX Handler callback interface. It is not an interface in the strict sense, since each function has a default implementation that does nothing. Implementors can override these callbacks to customize the handling of XML fragments parsed by XmlReader
XmlSchemaMappingFdoXmlSchemaMapping specifies overrides for translating a feature schema between FDO and GML
XmlSerializableFdoXmlSerializable provides the ability to serialize an FDO object to an XML Document. Serialization support can be added to any class by basing it on FdoXmlSerializable and implementing the _writeXml callback
XmlSkipElementHandlerXmlSkipHandler can be used to skip an XML element, when reading an XML document via FdoXmlReader. It is a XmlSaxHandler with no callback implementations. Therefore, if another XmlSaxHandler's XmlStartElement callback returns a XmlSkipElementHandler then there are no more SAX events until the end of the current element is reached
XmlSpatialContextFlags
XmlSpatialContextReaderFdoXmlSpatialContextReader reads Spatial Contexts from an XML document. Unlike other XML Readers, the reading is done procedurally, rather than through events. FdoXmlSpatialContextReader implements FdoISpatialContextReader to provide the functions for retrieving the spatial contexts that were read
XmlSpatialContextSerializerThis static class provides the ability to serialize and deserialize spatial contexts to and from GML
XmlSpatialContextWriterFdoXmlSpatialContextWriter writes Spatial Contexts to an XML document. This is done by calling the various setter functions to set the spatial context attributes and then calling WriteSpatialContext() to write the spatial context using the current attributes
XmlWriterXmlWriter writes an XML document to a text or binary stream. Note: The XML document is not completely written until this object is destroyed by releasing all references to it. Therefore, this object must be destroyed before reading back the document being written
XslTransformerXslTransformer provides a way to execute an XSL stylesheet on an XML document

Comments or suggestions? Send us feedback.