This interface is implemented for all AAF persistent classes. More...
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. |
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
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
AAFRESULT_NULL_PARAM
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
AAFRESULT_NULL_PARAM
AAFRESULT_ILLEGAL_PROPERTY
AAFRESULT_PROP_ALREADY_PRESENT
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:
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:
HRESULT IAAFObject::GetDefinition | ( | [out] IAAFClassDef ** | ppClassDef | ) |
Returns the class definition which describes this object instance.
Succeeds if all of the following are true:
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
AAFRESULT_NULL_PARAM
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:
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
AAFRESULT_NULL_PARAM
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:
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
AAFRESULT_NULL_PARAM
AAFRESULT_INVALID_PARAM
AAFRESULT_OBJECT_NOT_ATTACHED
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:
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
AAFRESULT_NULL_PARAM
AAFRESULT_INVALID_PARAM
AAFRESULT_OBJECT_NOT_ATTACHED
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:
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
AAFRESULT_NULL_PARAM
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
AAFRESULT_NULL_PARAM
AAFRESULT_ILLEGAL_PROPERTY
AAFRESULT_PROP_NOT_PRESENT
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
AAFRESULT_NULL_PARAM
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
AAFRESULT_NULL_PARAM
AAFRESULT_ILLEGAL_PROPERTY
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
AAFRESULT_NULL_PARAM
AAFRESULT_ILLEGAL_PROPERTY
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
AAFRESULT_NULL_PARAM
AAFRESULT_ILLEGAL_PROPERTY
AAFRESULT_PROP_NOT_PRESENT
pPropDef | [in] property definition indentifying desired property |
pPropVal | [in] value to set. |