SEDRIS Reference Manual
APPENDIX A - Transmittal Access Level 0 API
Functions
SE GetNthComponent
extern SE_Return_Code
SE_GetNthComponent
(
SE_Object  aggregate_object,1
SE_DRM_Class  desired_component_class,2
SE_Integer_Positive  n,3
SE_Object  *component_object,4
SE_Object  *link_object5
);

Definition

Given an object that has multiple, ordered components of a certain DRM class, returns an SE_Object for the Nth component of that class. ITR components will be automatically resolved and if an ITR component is encountered that cannot be resolved, the call will return SE_STATCODE_UNRESOLVED_OUTPUT_OBJECT for the n value passed in and any higher n values.


Returns

SE_RETCOD_SUCCESS and the requested component is returned
SE_RETCOD_FAILURE and the status code is set appropriately if the call failed.

Status Codes

SE_Status_Code(s) when SE_RETCOD_SUCCESS is returned:

SE_STATCODE_SUCCESS set if valid parameters were passed in and all operations succeeded.

SE_Status_Code(s) when SE_RETCOD_FAILURE is returned:

SE_STATCODE_UNRESOLVED_OUTPUT_OBJECT set if valid parameters were passed in and valid objects are returned, but the object returned using *component_object is unresolved.
SE_STATCODE_UNRESOLVED_INPUT_OBJECT set if aggregate_object is an unresolved DRM object.
SE_STATCODE_NO_OBJECT set if the aggregate_object did not contain 'n' component objects of the desired class.
SE_STATCODE_C_ENUMERATION_VALUE_INVALID set if desired_component_class was not valid.
SE_STATCODE_INACTIONABLE_FAILURE set if
  1. 'n' was 0 (since this is a 1-based index),
  2. the given class of component is not ordered for the given aggregate object, or
  3. the call fails for any other reason.

Parameters Notes

1 the object containing the desired component

2 the DRM class of component the user wants. Abstract types are allowed. The SE_CLS_DRM_NULL is not.

3 the 'index' of that component, given an ordered list of all components of the desired class for the given aggregate object. This is a 1-based index.

4 a pointer to a variable in the user's memory space, to which the desired component of the aggregate_object will be copied.

5 a pointer to a variable in the user's memory space, to which the link object (sometimes called the association class object) traversed to reach the desired component object will be copied. If no link class object was attached to the link used to reach the desired component object, then *link_object will be NULL.


Prev: SE_GetNthAssociate. Next: SE_GetNumberOfPathsToTransmittalRoot. Up:Index.