#include <object.h>
Public Member Functions |
|
virtual Interface_ID | GetID () |
This method returns the IXTCAccess
interface ID. |
|
virtual LifetimeType | LifetimeControl () |
This method allows inquiries into the actual
lifetime policy of a client and provide a server-controlled delete
notify callback. |
|
virtual void | AddXTCObject (XTCObject *pObj, int priority=0, int branchID=-1)=0 |
This method adds an extension object into
the pipeline. |
|
virtual int | NumXTCObjects ()=0 |
This method returns the number of extension
objects. |
|
virtual XTCObject * | GetXTCObject (int index)=0 |
This method returns the I-th extension
object. |
|
virtual void | RemoveXTCObject (int index)=0 |
This method allows you to remove the I-th
extension object. |
|
virtual void | SetXTCObjectPriority (int index, int priority)=0 |
This method allows you to set the priority
for the I-th extension object. |
|
virtual int | GetXTCObjectPriority (int index)=0 |
This method returns the priority for the
I-th extension object. |
|
virtual void | SetXTCObjectBranchID (int index, int branchID)=0 |
This method allows you to set the branch
identifier for the I-th extension object. |
|
virtual int | GetXTCObjectBranchID (int index)=0 |
This method returns the branch identifier
for the I-th extension object. |
|
virtual void | MergeAdditionalChannels (Object *from, int branchID)=0 |
This method has to be called whenever the
CompoundObject updates a branch (calling Eval on it). |
|
virtual void | BranchDeleted (int branchID, bool reorderChannels)=0 |
This method has to be called on the
CompoundObject, so it can delete the XTCObjects for the specific
branch. |
|
virtual void | CopyAdditionalChannels (Object *from, bool deleteOld=true, bool bShallowCopy=false)=0 |
This method copies all extension objects
from the "from" objects into the current object. |
|
virtual void | DeleteAllAdditionalChannels ()=0 |
This method allows you to delete all
additional channels. |
virtual Interface_ID GetID | ( | ) | [inline, virtual] |
This method returns the IXTCAccess interface ID.
Reimplemented from BaseInterface.
{ return IXTCACCESS_INTERFACE_ID; }
virtual LifetimeType LifetimeControl | ( | ) | [inline, virtual] |
This method allows inquiries into the actual lifetime policy of a client and provide a server-controlled delete notify callback.
Reimplemented from BaseInterface.
{ return noRelease; }
virtual void AddXTCObject | ( | XTCObject * | pObj, |
int | priority = 0 , |
||
int | branchID =
-1 |
||
) | [pure virtual] |
This method adds an extension object into the pipeline.
pObj | The extension object you wish to add. |
priority | The priority to set. |
branchID | The branch identifier to set. |
virtual int NumXTCObjects | ( | ) | [pure virtual] |
This method returns the number of extension objects.
virtual XTCObject* GetXTCObject | ( | int | index | ) | [pure virtual] |
This method returns the I-th extension object.
index | The index of the extension object to return. |
virtual void RemoveXTCObject | ( | int | index | ) | [pure virtual] |
This method allows you to remove the I-th extension object.
index | The index of the extension object you wish to remove. |
virtual void SetXTCObjectPriority | ( | int | index, |
int | priority | ||
) | [pure virtual] |
This method allows you to set the priority for the I-th extension object.
index | The index of the extension object for which to set the priority. |
priority | The priority to set. |
virtual int GetXTCObjectPriority | ( | int | index | ) | [pure virtual] |
This method returns the priority for the I-th extension object.
index | The index of the extension object. |
virtual void SetXTCObjectBranchID | ( | int | index, |
int | branchID | ||
) | [pure virtual] |
This method allows you to set the branch identifier for the I-th extension object.
index | The index of the extension object. |
branchID | The branch identifier to set. |
virtual int GetXTCObjectBranchID | ( | int | index | ) | [pure virtual] |
This method returns the branch identifier for the I-th extension object.
index | The index of the extension object. |
virtual void MergeAdditionalChannels | ( | Object * | from, |
int | branchID | ||
) | [pure virtual] |
This method has to be called whenever the CompoundObject updates a branch (calling Eval on it).
Object *from is the object returned from Eval (os.obj); branchID is an int, that specifies that branch. The extension channel will get a callback to RemoveXTCObjectOnMergeBranches() and MergeXTCObject(). By default it returns true to RemoveXTCObjectOnMergeBranches(), which means, that the existing XTCObjects with that branchID will be deleted. The method MergeXTCObject() simply copies the XTCObjects from the incoming branch into the compound object.
from | The object from which to merge additional channels |
branchID | The branch identifier. |
virtual void BranchDeleted | ( | int | branchID, |
bool | reorderChannels | ||
) | [pure virtual] |
This method has to be called on the CompoundObject, so it can delete the XTCObjects for the specific branch.
The XTCObject will have again the final decision if the XTCObject gets really deleted or not in a callback to RemoveXTCObjectOnBranchDeleted(), which will return true, if the XTCObject should be removed.
branchID | The branch identifier. |
reorderChannels | TRUE to reorder the channels, otherwise FALSE. |
virtual void CopyAdditionalChannels | ( | Object * | from, |
bool | deleteOld = true , |
||
bool | bShallowCopy =
false |
||
) | [pure virtual] |
This method copies all extension objects from the "from" objects into the current object.
In case deleteOld is false, the objects will be appended. In case it is true, the old XTCObjects will be deleted.
from | The object to copy from. |
deleteOld | TRUE to delete the old channel, FALSE to append the channels. |
bShallowCopy | TRUE to create a shallow copy, FALSE to create a deep copy. |
virtual void DeleteAllAdditionalChannels | ( | ) | [pure virtual] |
This method allows you to delete all additional channels.