Changes to attempt to silence bcc64x
[ACE_TAO.git] / ACE / ace / QoS / QoS_Manager.h
blob5b2b863a55244a29adf41288a7443550e55e0a29
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file QoS_Manager.h
7 * @author Vishal Kachroo
8 */
9 //=============================================================================
12 #ifndef ACE_QOS_MANAGER_H
13 #define ACE_QOS_MANAGER_H
14 #include /**/ "ace/pre.h"
16 #include "ace/Addr.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "ace/IPC_SAP.h"
23 #include "ace/Containers_T.h"
24 #include "ACE_QoS_Export.h"
25 #include "QoS_Session.h"
28 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
30 /**
31 * @class ACE_QoS_Manager
33 * @brief This class manages the QoS sessions associated with ACE_SOCK.
35 * This class provides functions to manage the QoS
36 * associated with a socket. The idea is to keep the management of
37 * QoS for a socket separate from the socket itself. Currently, the
38 * manager is used to manage the QoS session set. It will handle more
39 * responsibilities in the future.
41 class ACE_QoS_Export ACE_QoS_Manager
43 public:
44 /// Default constructor.
45 ACE_QoS_Manager ();
47 /// Default destructor.
48 ~ACE_QoS_Manager ();
50 /**
51 * Join the given QoS session. A socket can join multiple QoS
52 * sessions. This call adds the given QoS session to the list of
53 * QoS sessions that the socket has already joined.
55 int join_qos_session (ACE_QoS_Session *qos_session);
57 typedef ACE_Unbounded_Set <ACE_QoS_Session *> ACE_QOS_SESSION_SET;
59 /// Get the QoS session set.
60 ACE_QOS_SESSION_SET qos_session_set ();
62 private:
63 /// Set of QoS sessions that this socket has joined.
64 ACE_QOS_SESSION_SET qos_session_set_;
67 ACE_END_VERSIONED_NAMESPACE_DECL
69 #include /**/ "ace/post.h"
70 #endif /* ACE_QOS_MANAGER_H */