Changes between Version 14 and Version 15 of FDORfc20


Ignore:
Timestamp:
May 26, 2008, 12:37:09 PM (16 years ago)
Author:
jacklee
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc20

    v14 v15  
    99||RFC Template Version||(1.0)||
    1010||Submission Date|| April 30, 2008 ||
    11 ||Last Modified|| Greg Boone [[Timestamp]]||
     11||Last Modified|| Jack Lee [[Timestamp]]||
    1212||Author||Greg Boone||
    1313||RFC Status||Draft||
     
    3939== !DataStore Capability Support ==
    4040
    41 The change to support both provider and datastore level capabilities is done by adding an optional parameter to each of the top-level FdoIConnection capability functions to specify whether the capabilities are for the provider or for the currently connected datastore. The parameter will be a boolean, ''datastoreLevel''. The default if not included will be FALSE, resulting in the current behavior of  provider capabilities. This would make this change backwards compatible so that existing code will not need to change.
     41Unmanaged
     42
     43The change to support both provider and datastore level capabilities is done by adding an overloaded function to each of the top-level FdoIConnection capability functions. The overloaded function will have a ''datastoreLevel'' parameter to specify whether the capabilities are for the provider or for the currently connected datastore. Since the existing function will not be removed, there will be two ways to retrieve the provider capabilites.
    4244
    4345This could be an enum rather than a boolean, although I can’t think of any options that we could add to the enum in the future past these two.
    4446
     47
     48Managed
     49
     50The existing managed API to retrieve the capabilities is defined as a property. The change to support both provider and datastore level capabilities is done by adding a new function to each of the top-level IConnection capability functions. The new functions will have a ''datastoreLevel'' parameter to specify whether the capabilities are for the provider or for the currently connected datastore. Since the existing property will not be removed, there will be two ways to retrieve the provider capabilites.
     51
     52
    4553The table below specifies the changes to the above functions.
    4654
    47 '''Updated FdoIConnection Functions'''
     55'''New FdoIConnection/IConnection Functions'''
    4856
     57Unmanaged
     58{{{
     59virtual FdoICommandCapabilities *       GetCommandCapabilities (bool datastoreLevel) = 0
     60virtual FdoIConnectionCapabilities *    GetConnectionCapabilities (bool datastoreLevel) = 0
     61virtual FdoIExpressionCapabilities *    GetExpressionCapabilities (bool datastoreLevel) = 0
     62virtual FdoIFilterCapabilities *        GetFilterCapabilities (bool datastoreLevel) = 0
     63virtual FdoIGeometryCapabilities *      GetGeometryCapabilities (bool datastoreLevel) = 0
     64virtual FdoIRasterCapabilities *        GetRasterCapabilities (bool datastoreLevel) = 0
     65virtual FdoISchemaCapabilities *        GetSchemaCapabilities (bool datastoreLevel) = 0
     66virtual FdoITopologyCapabilities *      GetTopologyCapabilities (bool datastoreLevel) = 0
     67}}}
    4968
     69Managed
    5070{{{
    51 virtual FdoICommandCapabilities *       GetCommandCapabilities (bool datastoreLevel = false) = 0
    52 virtual FdoIConnectionCapabilities *    GetConnectionCapabilities (bool datastoreLevel = false) = 0
    53 virtual FdoIExpressionCapabilities *    GetExpressionCapabilities (bool datastoreLevel = false) = 0
    54 virtual FdoIFilterCapabilities *        GetFilterCapabilities (bool datastoreLevel = false) = 0
    55 virtual FdoIGeometryCapabilities *      GetGeometryCapabilities (bool datastoreLevel = false) = 0
    56 virtual FdoIRasterCapabilities *        GetRasterCapabilities (bool datastoreLevel = false) = 0
    57 virtual FdoISchemaCapabilities *        GetSchemaCapabilities (bool datastoreLevel = false) = 0
    58 virtual FdoITopologyCapabilities *      GetTopologyCapabilities (bool datastoreLevel = false) = 0
     71__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ICommandCapabilities* GetCommandCapabilities(System::Boolean datastoreLevel);
     72__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::IConnectionCapabilities* GetConnectionCapabilities(System::Boolean datastoreLevel);
     73__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::IExpressionCapabilities* GetExpressionCapabilities(System::Boolean datastoreLevel);
     74__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::IFilterCapabilities* GetFilterCapabilities(System::Boolean datastoreLevel);
     75__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::IGeometryCapabilities* GetGeometryCapabilities(System::Boolean datastoreLevel);
     76__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::IRasterCapabilities* GetRasterCapabilities(System::Boolean datastoreLevel);
     77__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ISchemaCapabilities* GetSchemaCapabilities(System::Boolean datastoreLevel);
     78__property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ITopologyCapabilities* GetTopologyCapabilities(System::Boolean datastoreLevel);
    5979}}}
    6080