summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp
blob: 8cb47065700e574b10244dc4dd91afe632f6c9bf (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// -*- C++ -*-

#include "LB_ObjectGroupManager.h"

ACE_RCSID (LoadBalancing,
           LB_ObjectGroupManager,
           "$Id$")

#if !defined (__ACE_INLINE__)
#include "LB_ObjectGroupManager.inl"
#endif /* __ACE_INLINE__ */

#include "LB_ObjectGroup_Map.h"


TAO_LB_ObjectGroupManager::TAO_LB_ObjectGroupManager (
  TAO_LB_PropertyManager &property_manager,
  TAO_LB_ObjectGroup_Map &map)
  : property_manager_ (property_manager),
    object_group_map_ (map)
{
}

LoadBalancing::ObjectGroup_ptr
TAO_LB_ObjectGroupManager::create_member (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    const LoadBalancing::Location & /* the_location */,
    const char * /* type_id */,
    const LoadBalancing::Criteria & /* the_criteria */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound,
                   LoadBalancing::MemberAlreadyPresent,
                   LoadBalancing::NoFactory,
                   LoadBalancing::ObjectNotCreated,
                   LoadBalancing::InvalidCriteria,
                   LoadBalancing::CannotMeetCriteria))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
                    LoadBalancing::ObjectGroup::_nil ());
}

LoadBalancing::ObjectGroup_ptr
TAO_LB_ObjectGroupManager::add_member (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    const LoadBalancing::Location & /* the_location */,
    CORBA::Object_ptr /* member */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound,
                   LoadBalancing::MemberAlreadyPresent,
                   LoadBalancing::ObjectNotAdded))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
                    LoadBalancing::ObjectGroup::_nil ());
}

LoadBalancing::ObjectGroup_ptr
TAO_LB_ObjectGroupManager::remove_member (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    const LoadBalancing::Location & /* the_location */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound,
                   LoadBalancing::MemberNotFound))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
                    LoadBalancing::ObjectGroup::_nil ());
}

LoadBalancing::ObjectGroup_ptr
TAO_LB_ObjectGroupManager::set_primary_member (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    const LoadBalancing::Location & /* the_location */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound,
                   LoadBalancing::MemberNotFound,
                   LoadBalancing::PrimaryNotSet,
                   LoadBalancing::BadReplicationStyle))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
                    LoadBalancing::ObjectGroup::_nil ());
}

LoadBalancing::Locations *
TAO_LB_ObjectGroupManager::locations_of_members (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
}

LoadBalancing::ObjectGroupId
TAO_LB_ObjectGroupManager::get_object_group_id (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
}

LoadBalancing::ObjectGroup_ptr
TAO_LB_ObjectGroupManager::get_object_group_ref (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
                    LoadBalancing::ObjectGroup::_nil ());
}

CORBA::Object_ptr
TAO_LB_ObjectGroupManager::get_member_ref (
    LoadBalancing::ObjectGroup_ptr /* object_group */,
    const LoadBalancing::Location & /* loc */,
    CORBA::Environment &ACE_TRY_ENV)
  ACE_THROW_SPEC ((CORBA::SystemException,
                   LoadBalancing::ObjectGroupNotFound,
                   LoadBalancing::MemberNotFound))
{
  ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
                    CORBA::Object::_nil ());
}