HDK
|
#include <UT_OpCaller.h>
Public Member Functions | |
UT_OpCaller () | |
virtual | ~UT_OpCaller () |
virtual int | getOpId ()=0 |
Callee's might want to find out the unique id of the caller. The /. More... | |
virtual void | referenceOtherOp (int opid, UT_OpCallee *cache, bool flaginterest, bool spareinterest=false)=0 |
virtual void | referenceOtherParameter (int opid, int pi, int vi, bool add_timedep=true)=0 |
Reference a specific parameter. More... | |
void | notifyCalleeWhenDone (UT_OpCallee *cache) |
bool | willNotifyCalleeWhenDone (UT_OpCallee *cache) |
Checks if this caller will notify the given callee when done with VEX. More... | |
Protected Member Functions | |
void | notifyCalleesThatDone () |
Notify the callees that the caller object is done with VEX. More... | |
General documentation for the UT_OpCaller class.
In some cases during the cook of an OP Node, calls will be made into low level libraries. These libraries may have callback mechanisms to reference data from other existing OPs, but without any dependencies on OPs themselves. For example, in resolving the "op:some-op-path" paths, the low level libraries don't actually know about OPs, but rely on callbacks to perform the evaluation.
However, the caller OP (the OP cooking) isn't notified of these additional dependencies and so doesn't end up cooking properly. This pair of classes provides a mechanism for implementing the appropriate dependencies. Prior to cooking, the OP can create a UT_Caller class which acts as a sink for all the OP references which get made. At the conclusion of the cook, the OP can then call back to all the classes which made the references (the OP_Callee classes) and notify them that the data they built is no longer required.
This class is primarily used by VEX at the current time.
Definition at line 39 of file UT_OpCaller.h.
UT_OpCaller::UT_OpCaller | ( | ) |
This class provides a virtual interface to OP_Nodes so that they can query the op-node which is being evaluated.
|
virtual |
|
pure virtual |
Callee's might want to find out the unique id of the caller. The /.
Implemented in OP_Caller.
|
protected |
Notify the callees that the caller object is done with VEX.
void UT_OpCaller::notifyCalleeWhenDone | ( | UT_OpCallee * | cache | ) |
|
pure virtual |
The referenceOtherOp() method is called when a callee magically references another operator. This might happen when referencing a file using the "op:soppath" syntax. At the conclusion of cooking, this cache should be notified that the OP is done with the data.
Implemented in OP_Caller.
|
pure virtual |
Reference a specific parameter.
Implemented in OP_Caller.
bool UT_OpCaller::willNotifyCalleeWhenDone | ( | UT_OpCallee * | cache | ) |
Checks if this caller will notify the given callee when done with VEX.