AAFA Developer Support

Public Member Functions
IAAFObject Interface Reference

This interface is implemented for all AAF persistent classes. More...

List of all members.

Public Member Functions

HRESULT GetGeneration ([out] IAAFIdentification **ppGeneration)
 Gets the generation of this object, which is represented by an AAFIdentification object.
HRESULT GetGenerationAUID ([out] aafUID_t *pResult)
 Shortcut to get the AUID representing the Identification representing this object's generation.
HRESULT GetDefinition ([out] IAAFClassDef **ppClassDef)
 Returns the class definition which describes this object instance.
HRESULT GetProperties ([out, retval] IEnumAAFProperties **ppEnum)
 Returns an enumerator across all properties actually contained in this object.
HRESULT CountProperties ([out] aafUInt32 *pCount)
 Returns the number of properties currently present in this object.
HRESULT GetPropertyValue ([in] IAAFPropertyDef *pPropDef,[out] IAAFPropertyValue **ppPropVal)
 Returns the requested Property Value.
HRESULT SetPropertyValue ([in] IAAFPropertyDef *pPropDef,[in] IAAFPropertyValue *pPropVal)
 Sets the value of the given property to the given value.
HRESULT IsPropertyPresent ([in] IAAFPropertyDef *pPropDef,[out] aafBoolean_t *pResult)
 Sets *pResultReturns true in if named property is legal and is present; sets it to false if it is legal and is absent.
HRESULT RemoveOptionalProperty ([in] IAAFPropertyDef *pPropDef)
 Removes the property if named property is legal and is optional and present.
HRESULT CreateOptionalPropertyValue ([in] IAAFPropertyDef *pPropDef,[out] IAAFPropertyValue **ppPropVal)
 Returns the requested Property Value.
HRESULT GetDictionary ([out, retval] IAAFDictionary **ppDictionary)
 Returns the dictionary for this object instance.
HRESULT EnableGenerationTracking ()
 Calling this method will cause generation tracking to be enabled for this object.
HRESULT DisableGenerationTracking ()
 Calling this method will cause generation tracking to be disabled for this object.
HRESULT IsGenerationTracked ([out] aafBoolean_t *pResult)
 This method will set *pResult to AAFTrue if generations are being tracked for this object.

Detailed Description

This interface is implemented for all AAF persistent classes.

In addition to methods which all clients can use, it provides methods for direct property access which should not be used unless the client programmer is aware of the liabilities.

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

AAFRESULT_NOT_INITIALIZED

Definition at line 16501 of file AAF.idl.


Member Function Documentation

HRESULT IAAFObject::CountProperties ( [out] aafUInt32 *  pCount)

Returns the number of properties currently present in this object.

This is the same number as will be accessed through GetProperties().

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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

  • pCount arg is NULL.
Parameters:
pCount[out] count of properties present in this object
HRESULT IAAFObject::CreateOptionalPropertyValue ( [in] IAAFPropertyDef pPropDef,
[out] IAAFPropertyValue **  ppPropVal 
)

Returns the requested Property Value.

The desired property data is identified by the given optional property definition.

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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

  • pPropDef or ppPropVal arg is NULL.

AAFRESULT_ILLEGAL_PROPERTY

  • named property illegal for this object's class.

AAFRESULT_PROP_ALREADY_PRESENT

  • named property is optional, but already present in this class.
Parameters:
pPropDef[in] property definition indentifying desired property
ppPropVal[out] returned AAFPropertyValue
HRESULT IAAFObject::DisableGenerationTracking ( )

Calling this method will cause generation tracking to be disabled for this object.

Generation information will then not be available through the GetGeneration() and GetGenerationAUID() methods.

Calling the EnableGenerationTracking() method will enable generation tracking for this object.

Generation tracking is disabled by default.

This method always succeeds, even if generation tracking is already disbled.

This method will return the following result:

  • AAFRESULT_SUCCESS
HRESULT IAAFObject::EnableGenerationTracking ( )

Calling this method will cause generation tracking to be enabled for this object.

Generation information will then be available through the GetGeneration() and GetGenerationAUID() methods.

Calling the DisableGenerationTracking() method will disable generation tracking for this object.

Generation tracking is disabled by default.

This method always succeeds, even if generation tracking is already enabled.

This method will return the following result:

  • AAFRESULT_SUCCESS
HRESULT IAAFObject::GetDefinition ( [out] IAAFClassDef **  ppClassDef)

Returns the class definition which describes this object instance.

Succeeds if all of the following are true:

  • the given ppClassDef pointer is valid.

Note! Use care when dealing with the object class. Among the pitfalls to be avoided is that tests for equality will not reflect inheritance. This becomes important if an unknown non-builtin (that is, user defined) object class ID is obtained.

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

  • ppClassDef arg is NULL.
Parameters:
ppClassDef[out] class definition of which this object is an instance.
HRESULT IAAFObject::GetDictionary ( [out, retval] IAAFDictionary **  ppDictionary)

Returns the dictionary for this object instance.

Succeeds if all of the following are true:

  • the given ppDictionary pointer is valid.

Note! Use care when dealing with the object class. Among the pitfalls to be avoided is that tests for equality will not reflect inheritance. This becomes important if an unknown non-builtin (that is, user defined) object class ID is obtained.

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

  • ppClassDef arg is NULL.
Parameters:
ppDictionary[out, retval] A pointer to an Dictionary pointer
HRESULT IAAFObject::GetGeneration ( [out] IAAFIdentification **  ppGeneration)

Gets the generation of this object, which is represented by an AAFIdentification object.

This is used to detect when an object has been modified.

This method will succeed if generation tracking is enabled for this object. Call EnableGenerationTrackint() and DisableGenerationTrackint() to control generation tracking for this object. Call IsGenerationTracked() to determine if generation tracking is currently enabled for this object.

Succeeds if all of the following are true:

  • the given pGeneration pointer is valid.
  • generation tracking is enabled for this object.
  • this object is attached to a file.

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

  • ppGeneration arg is NULL.

AAFRESULT_INVALID_PARAM

  • Generation tracking is not enabled for this object.

AAFRESULT_OBJECT_NOT_ATTACHED

  • This object is not attached to a file from which generation information can be obtained..
Parameters:
ppGeneration[out] AAFIdentification object corresponding to this object's Generation ID
HRESULT IAAFObject::GetGenerationAUID ( [out] aafUID_t *  pResult)

Shortcut to get the AUID representing the Identification representing this object's generation.

(Can also be obtained by calling this->GetGeneration(&pIdent), and using its result to call pIdent->GetAuid()).

This method will succeed if generation tracking is enabled for this object. Call EnableGenerationTrackint() and DisableGenerationTrackint() to control generation tracking for this object. Call IsGenerationTracked() to determine if generation tracking is currently enabled for this object.

Succeeds if all of the following are true:

  • the given pResult pointer is valid.
  • generation tracking is enabled for this object.
  • this object is attached to a file.

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 arg is NULL.

AAFRESULT_INVALID_PARAM

  • Generation tracking is not enabled for this object.

AAFRESULT_OBJECT_NOT_ATTACHED

  • This object is not attached to a file from which generation information can be obtained..
Parameters:
pResult[out] AUID corresponding to this object's Generation ID
HRESULT IAAFObject::GetProperties ( [out, retval] IEnumAAFProperties **  ppEnum)

Returns an enumerator across all properties actually contained in this object.

Each property is represented by an IAAFProperty interface.

ppEnum is AddRef()ed before it is returned. Succeeds if all of the following are true:

  • the ppEnum pointer is valid.

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

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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 arg is NULL.
Parameters:
ppEnum[out, retval] Property Enumeration
HRESULT IAAFObject::GetPropertyValue ( [in] IAAFPropertyDef pPropDef,
[out] IAAFPropertyValue **  ppPropVal 
)

Returns the requested Property Value.

The desired property data is identified by the given property definition.

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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

  • pPropDef or ppPropVal arg is NULL.

AAFRESULT_ILLEGAL_PROPERTY

  • named property illegal for this object's class.

AAFRESULT_PROP_NOT_PRESENT

  • named property is optional, but not present in this class.
Parameters:
pPropDef[in] property definition indentifying desired property
ppPropVal[out] returned AAFPropertyValue
HRESULT IAAFObject::IsGenerationTracked ( [out] aafBoolean_t *  pResult)

This method will set *pResult to AAFTrue if generations are being tracked for this object.

A result of AAFTrue indicates that generation information will be available through the GetGeneration() and GetGenerationAUID() methods.

Calling the EnableGenerationTracking() method will enable generation tracking for this object; calling the DisableGenerationTracking() method will disable generation tracking for this object.

Generation tracking is disabled by default.

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 arg is NULL.
Parameters:
pResult[out] set to true if generations are tracked; false otherwise
HRESULT IAAFObject::IsPropertyPresent ( [in] IAAFPropertyDef pPropDef,
[out] aafBoolean_t *  pResult 
)

Sets *pResultReturns true in if named property is legal and is present; sets it to false if it is legal and is absent.

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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 arg is NULL.

AAFRESULT_ILLEGAL_PROPERTY

  • named property illegal for this object's class.
Parameters:
pPropDef[in] property definition indentifying desired property
pResult[out] true if present; false if not present
HRESULT IAAFObject::RemoveOptionalProperty ( [in] IAAFPropertyDef pPropDef)

Removes the property if named property is legal and is optional and present.

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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 arg is NULL.

AAFRESULT_ILLEGAL_PROPERTY

  • named property illegal for this object's class.
Parameters:
pPropDef[in] property definition indentifying desired property
HRESULT IAAFObject::SetPropertyValue ( [in] IAAFPropertyDef pPropDef,
[in] IAAFPropertyValue pPropVal 
)

Sets the value of the given property to the given value.

If the selected property is optional but not yet present, will make the property present before setting its value.

Note! This is a low-level method which allows direct access to properties. If such access is done, any semantic checking (such as that which is performed in all other named property Get/Set methods) is not done here. Users must use this method at their own risk.

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

  • pPropDef or ppPropVal arg is NULL.

AAFRESULT_ILLEGAL_PROPERTY

  • named property illegal for this object's class.

AAFRESULT_PROP_NOT_PRESENT

  • named property is optional, but not present in this class.
Parameters:
pPropDef[in] property definition indentifying desired property
pPropVal[in] value to set.

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