Changes between Version 11 and Version 12 of FdoEnhancedVersionSupport


Ignore:
Timestamp:
Oct 18, 2007, 10:09:16 AM (17 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FdoEnhancedVersionSupport

    v11 v12  
    1 
    2 == UNDER CONSTRUCTION ==
    31
    42== FDO Enhanced Version Support ==
     
    382380}}}
    383381
    384 
    385 
     382=== Managed API ===
     383
     384Here are the Managed API wrapper definitions for the Unmanaged API described above.
     385
     386
     387{{{
     388/// \brief
     389/// The FeatureAccessManager class manages a registry of feature
     390/// providers stored in the registry and provides support for
     391/// dynamic discovery and binding to registered feature providers
     392public __sealed __gc class FeatureAccessManager
     393{
     394public:
     395
     396
     397    /// \brief
     398    /// Gets the version of the feature data objects
     399    /// specification the Feature Access Manager conforms to.
     400    /// The version number string has the form
     401    /// [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor].
     402    ///
     403    /// \return
     404    /// Returns the Feature Data Objects version as a constant wchar_t*.
     405    ///
     406    static System::String* GetFeatureDataObjectsVersion();
     407
     408
     409};
     410
     411/// \brief
     412/// A provider name tokenized into its company, name and version parts.
     413public __gc class ProviderNameTokens : public Disposable
     414{
     415public:
     416
     417
     418    /// \brief
     419    /// Gets all of the tokens in this provider name
     420    ///
     421    /// \return
     422    /// Returns the collection of tokens.
     423    ///   Element 0 is the company
     424    ///   Element 1 is the unqualified name
     425    ///   the rest of the elements are the individual
     426    /// parts of the version number.
     427    ///
     428    System::String* GetNameTokens()[];
     429
     430    /// \brief
     431    /// Gets all of the tokens in this provider name
     432    ///
     433    /// \param includeVersion
     434    /// Input a boolean flag indicating that the version information
     435    /// should be returned as a part of the provider name. When
     436    /// includeVersion is true, the full provider name is returned.
     437    /// When includeVersion is false, the version parts are omitted
     438    /// from the returned name.
     439    ///
     440    /// \return
     441    /// Returns the collection of tokens.
     442    ///   Element 0 is the company
     443    ///   Element 1 is the unqualified name
     444    ///   the rest of the elements are the individual
     445    /// parts of the version number.
     446    ///
     447    System::String* GetNameTokens( Boolean includeVersion)[];
     448
     449    /// \brief
     450    /// Converts the tokenized provider name back to a string.
     451    ///
     452    /// \param includeVersion
     453    /// Input a boolean flag indicating that the version information
     454    /// should be returned as a part of the provider name. When
     455    /// includeVersion is true, the full provider name is returned.
     456    /// When includeVersion is false, the version parts are omitted
     457    /// from the returned name.
     458    ///
     459    /// \return
     460    /// Returns the tokenized provider name.
     461    ///
     462    System::String* ToString( Boolean includeVersion );
     463
     464
     465};
     466
     467/// \brief
     468/// The IProviderRegistry interface supports registering,
     469/// un-registering, and enumerating registered feature providers.
     470/// \note
     471/// This is not the Windows registry.
     472public __gc __interface IProviderRegistry : public System::IDisposable
     473{
     474public:
     475
     476
     477
     478    /// \brief
     479    /// Gets a read only collection of information describing
     480    /// each of the registered feature providers.
     481    ///
     482    /// \return
     483    /// Returns an an instance of ProviderCollection.
     484    ProviderCollection* GetProviders();
     485
     486    /// \brief
     487    /// Gets a read only collection of information describing
     488    /// each of the registered feature providers.
     489    ///
     490    /// \param compatibleOnly
     491    /// When false, all registered providers are returned.
     492    /// When true, only providers compatible with the current FDO are returned.
     493    ///
     494    /// \return
     495    /// Returns an an instance of ProviderCollection.
     496    ProviderCollection* GetProviders( Boolean compatibleOnly );
     497
     498
     499};
     500
     501/// \brief
     502/// ProviderRegistry supports registering, un-registering, and
     503/// enumerating registered feature providers.
     504/// \note
     505/// This is not the Windows registry.
     506public __gc class ProviderRegistry :
     507public Disposable,
     508public IProviderRegistry
     509{
     510public:
     511
     512
     513
     514    /// \brief
     515    /// Gets a read only collection of information describing
     516    /// each of the registered feature providers.
     517    ///
     518    /// \return
     519    /// Returns an an instance of ProviderCollection.
     520    ProviderCollection* GetProviders();
     521
     522    /// \brief
     523    /// Gets a read only collection of information describing
     524    /// each of the registered feature providers.
     525    ///
     526    /// \param compatibleOnly
     527    /// When false, all registered providers are returned.
     528    /// When true, only providers compatible with the current FDO are returned.
     529    ///
     530    /// \return
     531    /// Returns an an instance of ProviderCollection.
     532    ProviderCollection* GetProviders ( Boolean compatibleOnly );
     533
     534
     535};
     536
     537/// \brief
     538/// Provides information about a feature provider, including name, description,
     539/// library, and version information.
     540public __sealed __gc class Provider : public Disposable
     541{
     542public:
     543
     544
     545    /// \brief
     546    /// Gets a boolean flag indicating if the provider is compatible with the
     547    /// currently running version of FDO.
     548    ///
     549    /// \return
     550    /// Returns returns true if this provider is compatible with the currently
     551    /// running FDO, and false otherwise.
     552    ///
     553    __property System::Boolean get_IsCompatible();
     554 …
     555 …
     556};
     557
     558/// \brief
     559/// The FdoFeatureSchema class derives from FdoSchemaElement.
     560/// A feature schema contains all of the classes and relationships
     561/// that make up a particular data model. The FdoFeatureSchema class
     562/// can be used to either create a new schema or to browse the schema end of a
     563/// connection. In the later case, the FdoFeatureSchema instance is created by
     564/// the DescribeSchema command. In this case the schema objects have
     565/// additional properties, such as coordinate system definitions that
     566/// can be useful to the
     567/// application when placed in context with the schema objects.
     568public __gc class FeatureSchema :
     569public SchemaElement,
     570public IXmlSerializable
     571{
     572public:
     573
     574
     575    /// \brief
     576    /// Gets the version of FDO that created the Feature Schema
     577    ///
     578    /// \return
     579    /// Returns the Feature Data Objects version as an FdoString.
     580    /// The FDO version must conform to the format:
     581    /// "[VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]".
     582    ///
     583    __property System::String* get_FeatureDataObjectsVersion ();
     584
     585    /// \brief
     586    /// Gets the earliest version of FDO that can possibly
     587    /// read the Schema Mapping
     588    ///
     589    /// \return
     590    /// Returns the Feature Data Objects version as an FdoString.
     591    /// The FDO version must conform to the format:
     592    /// "[VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]".
     593    ///
     594    __property System::String* get_MinimumFeatureDataObjectsVersion ();
     595
     596
     597};
     598
     599
     600/// \brief
     601/// PhysicalSchemaMapping is the base class of all Schema Override sets.
     602/// Each instance contains the overrides for a particular Feature Schema
     603/// and FDO Provider. Each FDO Provider, that allows Schema Overrides, must
     604/// create a sub-class of this class. This sub-class must implement the
     605/// overrides that are specific to the provider. The Provider can also add
     606/// support, for serializing to an XML document, by overriding the functions
     607/// inherited from  FdoXmlSerializable.
     608public __gc class PhysicalSchemaMapping : public PhysicalElementMapping
     609{
     610public:
     611
     612
     613    /// \brief
     614    /// Gets the earliest version of the Provider that can
     615    /// possibly read the Schema Mapping
     616    ///
     617    /// \return
     618    /// Returns the Provider version as an FdoString.
     619    /// The version must conform to the format:
     620    /// "[VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]".
     621    ///
     622    __property System::String* get_MinimumProviderVersion();
     623
     624
     625};
     626
     627
     628/// \brief
     629/// FdoXmlSchemaMapping specifies overrides for translating
     630/// a feature schema between FDO and GML.
     631public __gc class XmlSchemaMapping : public PhysicalSchemaMapping
     632{
     633public:
     634
     635
     636
     637    /// \brief
     638    /// Gets the earliest version of the Provider that can possibly
     639    /// read the Schema Mapping
     640    ///
     641    /// \return
     642    /// Returns the Provider version as an FdoString.
     643    /// The version must conform to the format:
     644    /// "[VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]".
     645    ///
     646    __property System::String* get_MinimumProviderVersion();
     647
     648
     649};
     650}}}
     651
     652