summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.cpp
blob: 042f5cdd761180d3d8790d2c9537f093c675ab4e (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
// $Id$

#include "Notify_Collection.h"
//#include "Notify_Event.h"
#include "Notify_Listeners.h"

ACE_RCSID(Notify, Notify_Collection, "$Id$")

// = TAO_Notify_EventType_List
void
TAO_Notify_EventType_List::populate (CosNotification::EventTypeSeq& event_type_seq)
{
  event_type_seq.length (this->size ());

  TAO_Notify_EventType_List::ITERATOR iter (*this);

  TAO_Notify_EventType* event_type;

  CORBA::ULong i = 0;
  for (iter.first (); iter.next (event_type); iter.advance (), ++i)
    event_type_seq[i] = event_type->get_native ();
}

void
TAO_Notify_EventType_List::insert_seq (const CosNotification::EventTypeSeq& event_type_seq)
{
  TAO_Notify_EventType event_type;

  for (CORBA::ULong i = 0; i < event_type_seq.length (); ++i)
    {
      event_type = event_type_seq[i];
      inherited::insert (event_type);
    }
}

void
TAO_Notify_EventType_List::remove_seq (const CosNotification::EventTypeSeq& event_type_seq)
{
  TAO_Notify_EventType event_type;

  for (CORBA::ULong i = 0; i < event_type_seq.length (); ++i)
    {
      event_type = event_type_seq[i];
      inherited::remove (event_type);
    }
}

/********************************************************************/

TAO_Notify_Shutdown_Worker::TAO_Notify_Shutdown_Worker (void)
{
}

void
TAO_Notify_Shutdown_Worker::work (TAO_Notify_EventListener* listener, CORBA::Environment &ACE_TRY_ENV)
{
  listener->shutdown (ACE_TRY_ENV);
}

/********************************************************************/

#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)

template class ACE_Unbounded_Set <TAO_Notify_EventType>;
template class ACE_Unbounded_Set_Iterator<TAO_Notify_EventType>;
template class ACE_Node<TAO_Notify_EventType>;

template class ACE_Unbounded_Set<TAO_Notify_EventListener*>;
template class ACE_Unbounded_Set_Iterator<TAO_Notify_EventListener*>;
template class ACE_Node<TAO_Notify_EventListener*>;

template class ACE_Unbounded_Set<TAO_Notify_UpdateListener*>;
template class ACE_Unbounded_Set_Iterator<TAO_Notify_UpdateListener*>;
template class ACE_Node<TAO_Notify_UpdateListener*>;

#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)

#pragma instantiate ACE_Unbounded_Set<TAO_Notify_EventType>
#pragma instantiate ACE_Unbounded_Set_Iterator<TAO_Notify_EventType>
#pragma instantiate ACE_Node<TAO_Notify_EventType>

#pragma instantiate ACE_Unbounded_Set<TAO_Notify_EventListener*>
#pragma instantiate ACE_Unbounded_Set_Iterator<TAO_Notify_EventListener*>
#pragma instantiate ACE_Node<TAO_Notify_EventListener*>

#pragma instantiate ACE_Unbounded_Set<TAO_Notify_UpdateListener*>
#pragma instantiate ACE_Unbounded_Set_Iterator<TAO_Notify_UpdateListener*>
#pragma instantiate ACE_Node<TAO_Notify_UpdateListener*>

#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */