Operation_Table_Linear_Search.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Operation_Table_Linear_Search.h
00006  *
00007  *  $Id: Operation_Table_Linear_Search.h 71473 2006-03-10 07:19:20Z jtc $
00008  *
00009  *  @author Aniruddha Gokhale
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_OPERATION_TABLE_LINEAR_SEARCH_H
00014 #define TAO_OPERATION_TABLE_LINEAR_SEARCH_H
00015 
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/PortableServer/portableserver_export.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "tao/PortableServer/Operation_Table.h"
00025 
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 /**
00029  * @class TAO_Linear_Search_OpTable
00030  *
00031  * @brief Operation table lookup strategy based on
00032  * linear search.  Not efficient, but it works.
00033  */
00034 class TAO_PortableServer_Export TAO_Linear_Search_OpTable
00035   : public TAO_Operation_Table
00036 {
00037 public:
00038   // = Initialization and termination methods.
00039 
00040   /// Destructor.
00041   ~TAO_Linear_Search_OpTable (void);
00042 
00043   /// See the documentation in the base class for details.
00044   virtual int find (const char *opname,
00045                     TAO_Skeleton &skel_ptr,
00046                     const unsigned int length = 0);
00047 
00048   virtual int find (const char *opname,
00049                     TAO_Collocated_Skeleton &skelfunc,
00050                     TAO::Collocation_Strategy s,
00051                     const unsigned int length = 0);
00052 
00053   virtual int bind (const char *opname,
00054                     const TAO::Operation_Skeletons skelptr);
00055 
00056 private:
00057   // = Method that should defined by the subclasses. GPERF program
00058   //   will generate this routine routines.
00059   virtual const TAO_operation_db_entry* lookup (const char *str) = 0;
00060 };
00061 
00062 TAO_END_VERSIONED_NAMESPACE_DECL
00063 
00064 #include /**/ "ace/post.h"
00065 #endif /* TAO_OPERATION_TABLE_LINEAR_SEARCH_H */

Generated on Tue Feb 2 17:40:54 2010 for TAO_PortableServer by  doxygen 1.4.7