Version 2 (modified by 16 years ago) ( diff ) | ,
---|
FDO RFC 24 - Enhanced Capability Support
This page contains an change request (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | April 30, 2008 |
Last Modified | Thomas Knoell Timestamp |
Author | Thomas Knoell |
RFC Status | Deferred |
Implementation Status | Pending |
Proposed Milestone | 3.4.0.0 |
Assigned PSC guide(s) | Greg Boone |
Voting History | (vote date) |
+1 | |
+0 | |
-0 | |
-1 |
Motivation/Proposal
Some providers do not allow different shapes to be stored in the same geometry property. For example, if the geometry in a SHP file is set to store points, multi-point shapes are not allowed. Another example would be if the geometry type are lines, point data cannot be stored.
Currently, a provider cannot indicate whether or not it can handle a combination of different geometry shapes. This issue will be addressed by a new capability. It will return TRUE if multiple geometry types are supported, FALSE otherwise. This new capability will be available via the new FDO capability interfaces (see RFC 20) only. To address the capability, the identifier !FdoCapabilityType_SupportsMultipleGeometries will be added to the enumeration FdoCapabilityType and !CapabilityType_SupportsMultipleGeometriesto the enumeration CapabilityType.
To retrieve the capability value, the caller would implement the following sequence (it is assumed that the connection is already established and given):
bool isUnknown; FdoPtr<FdoICapability> capability; capability = connection->GetCapability(); bool allowsMultipleGeometries = cap->GetBooleanCapability(FdoCapabilityType_SupportsMultipleGeometries, &isUnknown); if (isUnknown) { .. specific handling if the capability is not supported } // if (isUnknown)
Test Plan
Existing unit tests will be enhanced and new unit tests added to test all changes.
Funding/Resources
Autodesk to provide resource / funding to implement the feature for the affected providers.