Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Thread_Per_Connection_Handler.h
blob62d3937c40df6fff20bb061caecb59be9ed3d3f9
1 //x -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Thread_Per_Connection_Handler.h
7 * Definition of a connection handler for the thread-per-connection
8 * strategy.
10 * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
12 //=============================================================================
14 #ifndef TAO_THREAD_PER_CONNECTION_HANDLER_H
15 #define TAO_THREAD_PER_CONNECTION_HANDLER_H
17 #include /**/ "ace/pre.h"
18 #include "ace/Task.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #include /**/ "tao/TAO_Export.h"
25 #include /**/ "tao/Versioned_Namespace.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 class TAO_Connection_Handler;
30 class TAO_ORB_Core;
32 /**
33 * @class TAO_Thread_Per_Connection_Handler
35 * @brief Definition for the thread-per-connection strategy.
37 * This object acts as an active object, encapsulating the protocol
38 * specific handler which the active thread uses to process incoming
39 * messages.
41 class TAO_Export TAO_Thread_Per_Connection_Handler : public ACE_Task_Base
43 public:
44 TAO_Thread_Per_Connection_Handler (TAO_Connection_Handler *ch,
45 TAO_ORB_Core *oc);
47 ~TAO_Thread_Per_Connection_Handler ();
49 /// Template hook method that the thread uses...
50 /**
51 * Please see the documentation in ace/Task.h for details.
53 virtual int svc ();
54 virtual int open (void *);
55 virtual int close (u_long);
57 private:
58 /// Pointer to protocol specific code that does the bunch of the
59 /// job.
60 TAO_Connection_Handler *ch_;
63 TAO_END_VERSIONED_NAMESPACE_DECL
65 #include /**/ "ace/post.h"
67 #endif /*TAO_THREAD_PER_CONNECTION_HANDLER_H*/