summaryrefslogtreecommitdiff
path: root/ace/CLASSIX/CLASSIX_Port.i
blob: 762f6ec5794149b5670ce8088115ba6e7480e3ed (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
/* -*- C++ -*- */
// $Id$

ACE_INLINE
ACE_CLASSIX_Port::ACE_CLASSIX_Port(void)
    : ACE_CLASSIX_Addr (sizeof (ACE_CLASSIX_Port_Core::Addr))
{
    this->set_handle(K_DEFAULTPORT);
}

ACE_INLINE
ACE_CLASSIX_Port::ACE_CLASSIX_Port(const ACE_CLASSIX_Port& theSrc)
    : ACE_CLASSIX_Addr (sizeof (ACE_CLASSIX_Port_Core::Addr))
{
    this->set_(theSrc);
}

ACE_INLINE
ACE_CLASSIX_Port::ACE_CLASSIX_Port(const KnUniqueId& thePort)
    : ACE_CLASSIX_Addr (sizeof (ACE_CLASSIX_Port_Core::Addr))
{
    this->set(thePort);
}

ACE_INLINE
ACE_CLASSIX_Port::ACE_CLASSIX_Port(ACE_HANDLE thePort)
    : ACE_CLASSIX_Addr (sizeof (ACE_CLASSIX_Port_Core::Addr))
{
    this->set_handle(thePort);
}

ACE_INLINE
ACE_CLASSIX_Port::ACE_CLASSIX_Port(const ACE_CLASSIX_Port_Core& thePort)
    : ACE_CLASSIX_Addr (sizeof (ACE_CLASSIX_Port_Core::Addr))
{
	this->addr_.handle = thePort.get_handle();
	this->addr_.id     = thePort.get_id();
}

ACE_INLINE
ACE_HANDLE
ACE_CLASSIX_Port::get_handle(void) const
{
    return this->addr_.handle;
}

ACE_INLINE
const KnUniqueId&
ACE_CLASSIX_Port::get_id(void) const
{
    return this->addr_.id;
}

ACE_INLINE
void *
ACE_CLASSIX_Port::get_addr(void) const
{
    return (void*) &this->addr_;
}

ACE_INLINE
int
ACE_CLASSIX_Port::is_configured(void) const
{
    return (this->addr_.handle != ACE_CLASSIX_ADDR_UNKNOWN);
}

ACE_INLINE
ACE_CLASSIX_Addr::Addr_Type
ACE_CLASSIX_Port::is_type(void) const
{
    return ACE_CLASSIX_Addr::PORT;
}

ACE_INLINE
int
ACE_CLASSIX_Port::enable(int thePriority) const
{
    if (ACE_Reactor::instance()->notify() == 0)
	return ::portEnable(K_MYACTOR, this->get_handle(), thePriority);
    else
	return -1;
}

ACE_INLINE
int
ACE_CLASSIX_Port::disable(void) const
{
    if (ACE_Reactor::instance()->notify() == 0)
	return ::portDisable(K_MYACTOR, this->get_handle());
    else
	return -1;
}

// Compare two addresses for equality.
ACE_INLINE
int
ACE_CLASSIX_Port::operator==(const ACE_CLASSIX_Port &theSrc) const
{
  return 
      this->ACE_Addr::operator == (theSrc) &&
      this->addr_.id.uiHead == theSrc.addr_.id.uiHead &&
      this->addr_.id.uiTail == theSrc.addr_.id.uiTail &&
      this->addr_.handle == theSrc.addr_.handle;
}

ACE_INLINE
int
ACE_CLASSIX_Port::operator != (const ACE_CLASSIX_Port &sap) const
{
  return !((*this) == sap);
}