summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableServer/Active_Object_Map_Entry.h
blob: 1c072df420181782f3c9d4fdded47b0fcab4b985 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* -*- C++ -*- */

//=============================================================================
/**
 *  @file    Active_Object_Map_Entry.h
 *
 *  $Id$
 *
 *  @author Irfan Pyarali
 */
//=============================================================================


#ifndef TAO_ACTIVE_OBJECT_MAP_ENTRY_H
#define TAO_ACTIVE_OBJECT_MAP_ENTRY_H

#include /**/ "ace/pre.h"

#include "portableserver_export.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

#include "PS_ForwardC.h"

/**
 * @struct TAO_Active_Object_Map_Entry
 *
 * @brief Value field of the active object map.
 *
 * We need a mapping from and to all of the following fields:
 * user_id, system_id, and servant.  Therefore, we keep
 * all the fields together in the map.
 */
struct TAO_Active_Object_Map_Entry
{
  /// Default constructor.
  TAO_Active_Object_Map_Entry (void);

  /// User id.
  PortableServer::ObjectId user_id_;

  /// System id.
  PortableServer::ObjectId system_id_;

  /// Servant.
  PortableServer::Servant servant_;

  /// Reference count on outstanding requests on this servant.
  CORBA::UShort reference_count_;

  /// Has this servant been deactivated already?
  CORBA::Boolean deactivated_;

  /// Priority of this servant.
  CORBA::Short priority_;
};

#include /**/ "ace/post.h"

#endif /* TAO_ACTIVE_OBJECT_MAP_ENTRY_H */