|
virtual void | operation () |
| Does the work.
|
|
bool | new_data () |
| Puts the new input data into the input ringbuffer and puts the output data processed in the extra thread into the output so that it's ready to be processed by the next Operation (If necessary)
|
|
bool | copy_input_into_ringbuffer () |
| Copies the new input data into the input ringbuffer if necessary.
|
|
bool | copy_ringbuffer_into_output () |
| Puts the output data processed in the extra thread into the output so that it's ready to be processed by the next Operation (If necessary)
|
|
void | start_thread () |
| Spawns the extra thread if using threads.
|
|
void | destroy_thread () |
| Destroys the extra thread.
|
|
void | wait_to_synch () |
| Makes the thread wait for the call to operate() before running.
|
|
bool | can_run () |
| Returns whether or not the user has said to stop.
|
|
void | checks () |
| Checks stuff before operate()
|
|
void | run_op () |
| Calls op->operate() after setting up the input/output buffers.
|
|
bool | op_uses_an_input () |
| Returns true if the Operation needs an input to be set.
|
|
bool | op_uses_an_output () |
| Returns true if the Operation needs an output to be set.
|
|
void | setup_buffers () |
| Makes sure the buffers point to something sane.
|
|
template<class T > |
bool | newify_buffers (vector< Reference::To< BasicBuffer > > &buffers) |
| Worker function that actually calls 'new' for each element in the vector.
|
|
bool | newify_input_buffers () |
| Tries to work out what sort of buffers the input_buffers should be.
|
|
bool | newify_output_buffers () |
| Tries to work out what sort of buffers the input_buffers should be.
|
|
bool | newify_those_buffers (string typestring, vector< Reference::To< BasicBuffer > > &buffers) |
| Worker function for newify_input_buffers() and newify_output_buffers()
|
|
Reference::To< BasicBuffer > | setup_op_output () |
| Gives the Operation an output if it needs one.
|
|
Reference::To< BasicBuffer > | setup_op_input () |
| Gives the Operation an input if it needs one.
|
|
string | get_input_typestring () |
| Returns a string describing the input type.
|
|
string | get_output_typestring () |
| Returns a string describing the output type.
|
|
void | initialise_op_input () |
| Initialises the 'op_input' variable.
|
|
void | initialise_op_output () |
| Initialises the 'op_output' variable.
|
|
Reference::To< BasicBuffer > | new_buffer (string typestring) |
| Returns a new Buffer of the requisite type.
|
|
Reference::To< BasicBuffer > | pop_free_input_buffer () |
| pops a free/full input/output buffer as soon as one is available
|
|
Reference::To< BasicBuffer > | pop_full_input_buffer () |
|
Reference::To< BasicBuffer > | pop_free_output_buffer () |
|
Reference::To< BasicBuffer > | pop_full_output_buffer () |
|
void | wait_for_free_input_buffer () |
| Waits around until a free/full input/output buffer is available.
|
|
void | wait_for_full_input_buffer () |
|
void | wait_for_free_output_buffer () |
|
void | wait_for_full_output_buffer () |
|
void | init () |
| Called by constructor to initialise stuff.
|
|
virtual bool | can_operate () |
| Return false if the operation doesn't have enough data to proceed.
|
|
virtual void | set_name (const std::string &_name) |
| Set the name!
|
|
int | timers_index (const std::string &op_name) |
| Returns the index in the 'timers' array of a particular timer.
|
|
Handle * | __reference (bool active) const |
|
void | __dereference (bool auto_delete=true) const |
|