Operation table lookup strategy based on linear search. Not efficient, but it works. More...
#include <Operation_Table_Linear_Search.h>
Public Member Functions | |
~TAO_Linear_Search_OpTable (void) | |
Destructor. | |
virtual int | find (const char *opname, TAO_Skeleton &skel_ptr, const unsigned int length=0) |
See the documentation in the base class for details. | |
virtual int | find (const char *opname, TAO_Collocated_Skeleton &skelfunc, TAO::Collocation_Strategy s, const unsigned int length=0) |
virtual int | bind (const char *opname, const TAO::Operation_Skeletons skelptr) |
Private Member Functions | |
virtual const TAO_operation_db_entry * | lookup (const char *str)=0 |
Operation table lookup strategy based on linear search. Not efficient, but it works.
Definition at line 34 of file Operation_Table_Linear_Search.h.
TAO_Linear_Search_OpTable::~TAO_Linear_Search_OpTable | ( | void | ) |
int TAO_Linear_Search_OpTable::bind | ( | const char * | opname, | |
const TAO::Operation_Skeletons | skel_ptr | |||
) | [virtual] |
Associate the skeleton skel_ptr with an operation named opname. Returns -1 on failure, 0 on success, 1 on duplicate.
Implements TAO_Operation_Table.
Definition at line 41 of file Operation_Table_Linear_Search.cpp.
{
return 0;
}
int TAO_Linear_Search_OpTable::find | ( | const char * | opname, | |
TAO_Collocated_Skeleton & | skelfunc, | |||
TAO::Collocation_Strategy | s, | |||
const unsigned int | length = 0 | |||
) | [virtual] |
Uses opname to look up the collocated skeleton function and pass it back in skelfunc. Returns non-negative integer on success, or -1 on failure.
Implements TAO_Operation_Table.
Definition at line 68 of file Operation_Table_Linear_Search.cpp.
{ ACE_FUNCTION_TIMEPROBE (TAO_LINEAR_SEARCH_OPTABLE_FIND_START); TAO_operation_db_entry const * const entry = lookup (opname); if (entry == 0) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("TAO_Linear_Search_Table:find failed\n")), -1); switch (st) { case TAO::TAO_CS_DIRECT_STRATEGY: skelfunc = entry->direct_skel_ptr; break; default: return -1; } return 0; }
int TAO_Linear_Search_OpTable::find | ( | const char * | opname, | |
TAO_Skeleton & | skel_ptr, | |||
const unsigned int | length = 0 | |||
) | [virtual] |
See the documentation in the base class for details.
Implements TAO_Operation_Table.
Definition at line 48 of file Operation_Table_Linear_Search.cpp.
{ ACE_FUNCTION_TIMEPROBE (TAO_LINEAR_SEARCH_OPTABLE_FIND_START); TAO_operation_db_entry const * const entry = lookup (opname); if (entry == 0) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("TAO_Linear_Search_Table:find failed\n")), -1); // Valid entry. Figure out the skel_ptr. skelfunc = entry->skel_ptr; return 0; }
virtual const TAO_operation_db_entry* TAO_Linear_Search_OpTable::lookup | ( | const char * | str | ) | [private, pure virtual] |