This page lists the errata for the published SDO for C++ Specification Version 2.1.0. These errata will be considered for a future update of the specification.
1. API Errata
Section 6.1 The DataObject API provides createDataObject(const std::string &propertyName), createDataObject(const Property &property) and createDataObject(unsigned int propertyIndex) but these were omitted from the specification. These methods return DataObjectPtr.
Section 6.3.6 The ChangeSummary API method getChangedDataObjects should return "const Changed DataObjectList&" rather than "const Changed DataObjectList" as stated in the specification.
Section 6.5.7 The Type API method isAbstract() should be isAbstractType() for consistency with other methods.
Section 6.6.1 Property API method getOpposite() should return PropertyPtr rather than Property*.
Section 6.7.4 The DataObject API should include a "void remove(unsigned int index)" method but this was omitted from the specification.
Section 6.7.4 The DataObject API should include a no-arg getChangeSummary() method for accessing the ChangeSummary associated with a DataObject but this was omitted from the specification.
Section 6.9.1 The DataFactory API method getDataFactory() is a static method. This is not explained in the specification.
Section 6.9.1 DataFactory API method defineOpenContentProperty does not allow a NULL uri to be specificied due to the use of a reference type (std::string&) for the uri parameter, contradicting the description of the method on pages 23 and 69. A suggested work around for this issue is for vendors to specify an overloaded version of the method that has no uri parameter.
Section 6.9.1 DataFactory API method getOpenContentProperty should return PropertyPtr instead of Property& because the specification states that the method should return null if no property is found and this is not possible with the Property& return type.