| 1 | = FDO RFC 24 - Enhanced Capability Support = |
| 2 | |
| 3 | This page contains an change request (RFC) for the FDO Open Source project. |
| 4 | More FDO RFCs can be found on the [wiki:FDORfcs RFCs] page. |
| 5 | |
| 6 | |
| 7 | == Status == |
| 8 | |
| 9 | ||RFC Template Version||(1.0)|| |
| 10 | ||Submission Date|| April 30, 2008 || |
| 11 | ||Last Modified|| Thomas Knoell [[Timestamp]]|| |
| 12 | ||Author||Thomas Knoell|| |
| 13 | ||RFC Status||Draft|| |
| 14 | ||Implementation Status||Pending|| |
| 15 | ||Proposed Milestone||3.4.0.0|| |
| 16 | ||Assigned PSC guide(s)||Greg Boone|| |
| 17 | ||'''Voting History'''||(vote date)|| |
| 18 | ||+1|| || |
| 19 | ||+0|| || |
| 20 | ||-0|| || |
| 21 | ||-1|| || |
| 22 | |
| 23 | == Motivation/Proposal == |
| 24 | |
| 25 | 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. |
| 26 | |
| 27 | 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_SupportsMultipleGeometries''to the enumeration ''!CapabilityType''. |
| 28 | |
| 29 | To retrieve the capability value, the caller would implement the following sequence (it is assumed that the connection is already established and given): |
| 30 | |
| 31 | {{{ |
| 32 | |
| 33 | bool isUnknown; |
| 34 | FdoPtr<FdoICapability> capability; |
| 35 | |
| 36 | capability = connection->GetCapability(); |
| 37 | bool allowsMultipleGeometries = cap->GetBooleanCapability(FdoCapabilityType_SupportsMultipleGeometries, &isUnknown); |
| 38 | if (isUnknown) { |
| 39 | |
| 40 | .. specific handling if the capability is not supported |
| 41 | |
| 42 | } // if (isUnknown) |
| 43 | |
| 44 | }}} |
| 45 | |
| 46 | |
| 47 | == Test Plan == |
| 48 | |
| 49 | Existing unit tests will be enhanced and new unit tests added to test all changes. |
| 50 | |
| 51 | |
| 52 | == Funding/Resources == |
| 53 | |
| 54 | Autodesk to provide resource / funding to implement the feature for the affected providers. |