AAFA Developer Support

Public Member Functions
IAAFNestedScope Interface Reference

This interface is used with an object which contains an ordered set of AAFSegments and produces the value specified by the last AAFSegement in the ordered seta reference to a segment. More...

List of all members.

Public Member Functions

HRESULT AppendSegment ([in] IAAFSegment *pSegment)
 Append another input segment to the list of source segments.
HRESULT PrependSegment ([in] IAAFSegment *pSegment)
 Prepend another input segment to the list of source segments.
HRESULT InsertSegmentAt ([in] aafUInt32 index,[in] IAAFSegment *pSegment)
 Insert an input segment to the list of source segments at the given index.
HRESULT RemoveSegmentAt ([in] aafUInt32 index)
 Removes the indexed segment.
HRESULT CountSegments ([out, retval] aafUInt32 *pResult)
 Returns the number of source segments currently contained.
HRESULT GetSegmentAt ([in] aafUInt32 index,[out, retval] IAAFSegment **ppSegment)
 Retrieves the indexed segment.
HRESULT GetSegments ([out, retval] IEnumAAFSegments **ppEnum)
 Return an enumerator for the ordered list of AAFSegments which make up the nested scope.

Detailed Description

This interface is used with an object which contains an ordered set of AAFSegments and produces the value specified by the last AAFSegement in the ordered seta reference to a segment.

AAFNestedScopes are used to encapsulate intermediate results which may be referenced from more than one place, in a manner much like common subexpressions in mathmatical expressions.

In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:

AAFRESULT_NOMEMORY

Objects that implement IAAFNestedScope also implement the following interfaces:

Definition at line 16176 of file AAF.idl.


Member Function Documentation

HRESULT IAAFNestedScope::AppendSegment ( [in] IAAFSegment pSegment)

Append another input segment to the list of source segments.

The last segment added will be used as the output of the nested scope, and usually contains operations whose inputs are scope references.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.

If this method fails no state will be changed.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSegment is null.
Parameters:
pSegment[in] Pointer to segment to be added
HRESULT IAAFNestedScope::CountSegments ( [out, retval] aafUInt32 *  pResult)

Returns the number of source segments currently contained.

Succeeds if all of the following are true:

  • the pResult pointer is valid.

If this method fails no value will be written to *pResult.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pResult is null.
Parameters:
pResult[out, retval] number of segments contained
HRESULT IAAFNestedScope::GetSegmentAt ( [in] aafUInt32  index,
[out, retval] IAAFSegment **  ppSegment 
)

Retrieves the indexed segment.

Succeeds if all of the following are true:

  • the ppEnum pointer is valid.
  • index is less than the value returned by CountSegments().

If this method fails nothing will be written to *ppSegment.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.

AAFRESULT_BADINDEX

Parameters:
index[in] index of segment to retrieve
ppSegment[out, retval] retrieved segment
HRESULT IAAFNestedScope::GetSegments ( [out, retval] IEnumAAFSegments **  ppEnum)

Return an enumerator for the ordered list of AAFSegments which make up the nested scope.

Succeeds if all of the following are true:

  • the ppEnum pointer is valid.

If this method fails nothing will be written to *ppEnum.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.
Parameters:
ppEnum[out, retval] Slots - segment list enumeration
HRESULT IAAFNestedScope::InsertSegmentAt ( [in] aafUInt32  index,
[in] IAAFSegment pSegment 
)

Insert an input segment to the list of source segments at the given index.

Segments already existing at the given and higher indices will be moved up one index to accommodate.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.
  • index is less than or equal to the value returned by CountSegments().

If this method fails no state will be changed.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSegment is null.

AAFRESULT_BADINDEX

Parameters:
index[in] index where segment is to be inserted
pSegment[in] Pointer to segment to be added
HRESULT IAAFNestedScope::PrependSegment ( [in] IAAFSegment pSegment)

Prepend another input segment to the list of source segments.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.

If this method fails no state will be changed.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSegment is null.
Parameters:
pSegment[in] Pointer to segment to be added
HRESULT IAAFNestedScope::RemoveSegmentAt ( [in] aafUInt32  index)

Removes the indexed segment.

Segments already existing at indices greater than the given index will be moved down by one index to accommodate.

Succeeds if all of the following are true:

  • the pSegment pointer is valid.
  • index is less than the value returned by CountSegments().

If this method fails no state will be changed.

This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:

AAFRESULT_SUCCESS

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pSegment is null.

AAFRESULT_BADINDEX

Parameters:
index[in] index of segment to be removed

Generated on Wed Jul 4 2012 22:13:29 for AAF COM API by doxygen 1.7.4