Function Name: Add Symbolic Component

Definition

Adds an object as a component of another object, using a reference symbol.

Note that an object may or may not have been assigned to the reference symbol at this point. If not, then the API will use forward referencing. "Forward referencing", in this context, means creating composition relationships when no object has been assigned to the reference symbol; the API keeps track of the symbolic relationships, then creates them when an object is assigned to the reference symbol.

The aggregate_object (and link_object, if the latter is provided) must be resolved. (See comments for SE_OBJECT.)

NOTE: At some point before the reference symbol is freed by SE_FreeReferenceSymbol(), an object must be assigned to it, so that the symbolic composition created by SE_AddSymbolicComponent() can be resolved; otherwise the actual relationship cannot be created.

Returns

SE_SUCCESS - and the requested symbolic composition is added, if valid parameters were passed in and all operations succeeded. Please note that the actual composition is not added unless and until the to_object has been assigned to an actual object; see SE_AssignReferenceSymbolToObject() for details.

SE_INVALID_OR_NULL_OBJECT - and no changes are made, if

SE_UNRESOLVED_START_OBJECT - and no changes are made, if

SE_INVALID_OR_NULL_REFERENCE_SYMBOL - and no changes are made, if component_object is not a handle to a valid, active (i.e., not freed) SE_REFERENCE_SYMBOL created by one of the create- reference-symbol functions. In this case, no changes are made.

SE_INVALID_ACCESS_MODE - and no changes are made, if the transmittal (or if ITR is involved, any of the transmittals) containing the from_object, link_object (if present), and/or the object represented by to_object (if to_object has been assigned to an object) were opened in read-only mode.

SE_FAILURE - and no changes are made, if the API implementation specified does not provide this function in its shared library, and dynamic binding is specified at compile time.

Prototype


extern SE_STATUS_CODE_ENUM
SE_AddSymbolicComponent
(
SE_OBJECT aggregate_object, (notes)
SE_REFERENCE_SYMBOL component_object, (notes)
SE_OBJECT link_object (notes)
);

Parameters Notes

aggregate_object

 object to which a component is being added - must
    be resolved.

component_object

 reference symbol to component object being added -
    may or may not have been assigned an object at this point.

link_object

 the link object that will be traversed to reach
    the component object, if there is one; must be resolved, if provided.

Prev: Add Symbolic Associate. Next: Add To Transmittal. Up:Index.