Issue 9164: RefObject::ref_get (PropertyName) specified on page 67 (mof2idl-ftf) Source: Fraunhofer FOKUS (Mr. Michael Soden, soden@ikv.de soden@fokus.fraunhofer.de) Nature: Uncategorized Issue Severity: Summary: Title: Arguments to ref_get, ref_set and ref_is_set operations do not match with MOF2.0 Reflection specification. Source: Michael Soden, soden@ikv.de Summary: The RefObject::ref_get (PropertyName) specified on page 67 does not conform to the get(Property) defined in MOF2.0 Reflection. Resolution: Revised Text: Change the parameter PropertyName to Property and introduce an alternative operation RefObject::ref_get_by_name(PropertyName) to substitute RefObject::ref_get (PropertyName). This alternative operation is useful when the client does not wrap the Property's meta-object itself but rather caches only their names. The same applies for ref_set and ref_is_set. Parameter types changed from PropetyName to Property The following operations were introduced: RefObject::ref_get_by_name Parameters PropertyName prop : name of the property to request. Semantics Same as RefObject::ref_get Returns Same as RefObject::ref_get. Exception Same as RefObject::ref_get. RefObject::ref_set_by_name Parameters PropertyName prop : name of the property to request. any value : the new value for the property. Semantics Same as RefObject::ref_set. Returns Same as RefObject::ref_set. Exception Same as RefObject::ref_set. RefObject::ref_is_set_by_name Parameters Property prop : name of the property to request. Semantics Same as RefObject::ref_is_set. Returns Same as RefObject::ref_is_set. Exception Same as RefObject::ref_is_set. RefObject::ref_unset_by_name Parameters PropertyName prop : name of the property to request. Semantics Same as RefObject::ref_unset. Returns Same as RefObject::ref_unset. Exception Same as RefObject::ref_unset. RefFactory::ref_all_of_class Parameters RefBaseObject class : class whose instances are to be retrieved. Semantics This operation has the same behavior as the non reflective all_of_class_* operations. Returns ReflectiveCollection : collection of found instances. Exception A MofError with error_code ILLEGAL_ARGUMENT_VIOLATION is raised, if class is not contained in the package. RefFactory::ref_all_of_type Parameters RefBaseObject class : class whose instances and those of its subclasses are to be retrieved. Semantics This operation has the same behavior as the non reflective all_of_type_* operations. Returns ReflectiveCollection : collection of found instances. Exception A MofError with error_code ILLEGAL_ARGUMENT_VIOLATION is raised, if class is not contained in the package. RefFactory::ref_create_and_init Parameters RefBaseObject class : class to build the new instance from. RefArgumentSet arguments : attribute values used to instantiate new object. Semantics Creates an instance of the class class initialized with the values supplied through arguments. Returns RefBaseObject : the new instance. Exception A MofError with error_code ILLEGAL_ARGUMENT_VIOLATION is raised, if the linked package does not contain such a class or at least one of the supplied arguments does not denote an attribute of the class. Actions taken: November 15, 2005: received issue March 8, 2006: closwed issue Discussion: End of Annotations:===== MG Issue No: [Temp17] Title: Arguments to ref_get, ref_set and ref_is_set operations do not match with MOF2.0 Reflection specification. Source: Michael Soden, soden@ikv.de Summary: The RefObject::ref_get (PropertyName) specified on page 67 does not conform to the get(Property) defined in MOF2.0 Reflection. Discussion: Resolution: Change the parameter PropertyName to Property and introduce an alternative operation RefObject::ref_get_by_name(PropertyName) to substitute RefObject::ref_get (PropertyName). This alternative operation is useful when the client does not wrap the Property.s meta-object itself but rather caches only their names. The same applies for ref_set and ref_is_set. Parameter types changed from PropetyName to Property The following operations were introduced: RefObject::ref_get_by_name Parameters PropertyName prop : name of the property to request. Semantics Same as RefObject::ref_get Returns Same as RefObject::ref_get. Exception Same as RefObject::ref_get. RefObject::ref_set_by_name Parameters PropertyName prop : name of the property to request. any value : the new value for the property. Semantics Same as RefObject::ref_set. Returns Same as RefObject::ref_set. Exception Same as RefObject::ref_set. RefObject::ref_is_set_by_name Parameters Property prop : name of the property to request. Semantics Same as RefObject::ref_is_set. Returns Same as RefObject::ref_is_set. Exception Same as RefObject::ref_is_set. RefObject::ref_unset_by_name Parameters PropertyName prop : name of the property to request. Semantics Same as RefObject::ref_unset. Returns Same as RefObject::ref_unset. Exception Same as RefObject::ref_unset. RefFactory::ref_all_of_class Parameters RefBaseObject class : class whose instances are to be retrieved. Semantics This operation has the same behavior as the non reflective all_of_class_* operations. Returns ReflectiveCollection : collection of found instances. Exception A MofError with error_code ILLEGAL_ARGUMENT_VIOLATION is raised, if class is not contained in the package. RefFactory::ref_all_of_type Parameters RefBaseObject class : class whose instances and those of its subclasses are to be retrieved. Semantics This operation has the same behavior as the non reflective all_of_type_* operations. Returns ReflectiveCollection : collection of found instances. Exception A MofError with error_code ILLEGAL_ARGUMENT_VIOLATION is raised, if class is not contained in the package. RefFactory::ref_create_and_init Parameters RefBaseObject class : class to build the new instance from. RefArgumentSet arguments : attribute values used to instantiate new object. Semantics Creates an instance of the class class initialized with the values supplied through arguments. Returns RefBaseObject : the new instance. Exception A MofError with error_code ILLEGAL_ARGUMENT_VIOLATION is raised, if the linked package does not contain such a class or at least one of the supplied arguments does not denote an attribute of the class. Disposition: open