CCM IDL, CORBA Component Model IDL
-
Upload
emmanuel-fuchs -
Category
Technology
-
view
1.138 -
download
3
description
Transcript of CCM IDL, CORBA Component Model IDL
����������� �����������������������
����������������������� ! ���"������������
�����������
#
����������������������������������
$
�����������������������
����� !������ !�����"�%
� ����� !�&"%��"���'�
� ���������������'��
� �����������"���� !�(����� !)
� ����!������ !����&*�����������������
� ����!������ !��� ���"�������������
� ����!������ !�����"�%�
����������� �����������������������
����� !�&"%��"���'�
�����������
+
�����������������������
����� !�&"%��"���'�
� ���"������ !����������&*���
� �������"���� !�������������� !
� �������"���� !�����"�%
� !������ !��������"��'�,'�%'���"�%������
�����������
-
����������������������������������
$����� !�&"%��"���'�
� ���"������ !����������&*���
� �������"���� !�������������� !
� �������"���� !�����"�%
� !������ !��������"��'�,'�%'���"�%������
�����������
.
�����������������������
'����&*����/�����������
�����������������"���������0�&����������&*����
�����������
1
�����������������������
���������������������&*���
��������������� ��������������
���� � ���� � ����
� ����
� ����
���� ��
����
�����������
�����������
2
�����������������������
���������������&*���
��������������� ��������������
���� � ���� �
�
�
���� ��
����
��������
�����������
3
�����������������������
���"����� !
Component
����������
�� �
�����������
�� �
��������������������������������
�����������
$4
����������������������������������
$����� !�&"%��"���'�
� ���"������ !����������&*���
� �������"���� !�������������� !
� �������"���� !�����"�%
� !������ !��������"��'�,'�%'���"�%������
�����������
$$
�����������������������
/���5��"���6 "��7��������"�� � !
����������
������� ��
�����������
!�������"
������� ��
#������������!����"
�����������
$#
����������������������������������
$����� !�&"%��"���'�
� ���"������ !����������&*���
� �������"���� !�������������� !
� �������"���� !�����"�%
� !������ !��������"��'�,'�%'���"�%������
�����������
$8
�����������������������
/���5��"���6 "��7��������"���� !�����"�%
����������
������� ��
�����������
!�������"
�����������
#������
������� ��
�����������
������� ��
#������������
������� ��
#������������!����"
�����������
$+
����������������������������������
$����� !�&"%��"���'�
� ���"������ !����������&*���
� �������"���� !�������������� !
� �������"���� !�����"�%
� !������ !��������"��'�,'�%'���"�%������
�����������
$-
�����������������������
/���5��"���6 "��7���9�����!������ !�����"�%
����������
�����������
#������
������� ��
�����������
������� ��#���������
���
������� ��
#������������!����"
������� ��
�����������
!�������"
Server
##��$%���
������������
##�&'''
�����������
$.
����������������������������������
$
�����������������������
����� !������ !�����"�%
� ����� !�&"%��"���'�
� ���������������'��
� �����������"���� !�(����� !)
� ����!������ !����&*�����������������
� ����!������ !��� ���"�������������
� ����!������ !�����"�%�
����������� �����������������������
����� !����������������'��
�����������
$2
�����������������������
����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
$3
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
#4
�����������������������
��������������'���
� ���'"&���� =�������"%�'�&����'���'�"��
� ����� =�������'������'��"���"���'������(�'�:"���)
� ����������� =���'�>�"'������'��"���"���'������(����)
� �:�������'������ =����'��������:����
� �:�����"�< =�������������:����
� ?�:"%��"�������"��'������"��������'���
!�������������##��(�������)���"
�����������
#$
�����������������������
�����������������
Attributes
MyBusiness
Component
Component interface
Facets
Eventsources
Eventsinks
Receptacles
OFF
ER
ED R
EQ
UIR
ED
�����������
##
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
#8
�����������������������
��"��"�%���������"���"����=������&�"�%��������������������������
�����������
#+
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
#-
�����������������������
��������������� !
Name
component Name
{
/** Component features **/
};
�����������
#.
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
#1
�����������������������
������&*����� !
server
�� �
interface Display
{
void display_hello();
};
�����������
#2
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
#3
�����������������������
���������� !
server
component Server
{
/**
** The facet for Clients components.
**/
provides Display for_clients;
};
for_clients
�����������
84
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
8$
�����������������������
���������� ����� !
Client
component Client
{
/**
** The receptacle to_server to connect the Client component
** to a Display object or facet reference.
**/
uses Display to_server;
};
to_server
�����������
8#
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
88
�����������������������
�:�����&*��������� !
eventtype HelloInfo
{
void display_hello();
};
�����������
8+
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
8-
�����������������������
"�<������ !
component Server
{
/**
** The status info event consumer.
**/
consumes HelloInfo received_info;
};
received_info
server
�����������
8.
����������������������������������
$����� !����������������'��� ���������������'���
� ���������������&�0
� ��������������� !
� ������&*����� !
� ���������� !
� ���������������� !
� �:����;�����/0���� !
� "�<������ !
� ��'�������� !
�����������
81
�����������������������
��'�������� !
Client
component Client
{
/**
** The status info event source.
**/
emits HelloInfo info_to_send;
};
info_to_send
�����������
82
����������������������������������
$
�����������������������
����� !������ !�����"�%
� ����� !�&"%��"���'�
� ���������������'��
� �����������"���� !�(����� !)
� ����!������ !����&*�����������������
� ����!������ !��� ���"�������������
� ����!������ !�����"�%�
����������� �����������������������
�����������"���� !�����"�%
�����������
+4
�����������������������
�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
����������� �����������������������
�����������"���� !�����"�%
�����������
+#
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
�����������
+8
�����������������������
��"���������"�� ��9�� !�����"�%������
� �������������0�� "���������������"���'�����"���'"�"�%��'���Components::CCMObject
� ����������:�����"�<��'������������������'��"�����'��&��"�"�%���������"�����'���'����
� ������������'���������������'��"������'��������"�%A��"��������"�%A�����%���"�%���������"�����'���'����(�)
� �:�������'����'���������������'��"������'���&��'"&"�%��������&��'"&"�%����'��������:����
�����������
++
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
�����������
+-
�����������������������
�������"���� !
Component
����������
�����������
�����������
�� �##��$%���
�����������
+.
�����������������������
�������"���� !����������"�������%�����
Component
����������
��*�������������
#��������������������
�� �##��$%���
�����$�
#�������������*�����
�����������
+1
�����������������������
�������"���� !��������"��'������
Component
�� �##��$%���
�����$�
#�������������*�����
�����������
+2
�����������������������
�������"���� !
Component
##��$%���
�����������
+3
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
�����������
-4
�����������������������
��"���������"�� ��9�� !�������&*���
� �������������0���"���������������"���'�����"���'"�"�%��'���Components::CCMObject
Component
##��$%���
�����������
-$
�����������������������
��"���������"�� ��9�� !�������&*���
� �������������0���"���������������"���'�����"���'"�"�%��'���Components::CCMObject
Component
##��$%���
CCMObject
�����������
-#
�����������������������
�������"���� !�������&*���Component
##��$%���
<component_name>
<Attributes>
<Connection_Operations>
CCMObject
�����������
-8
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
�����������
-+
�����������������������
��"���������"�� ��9�� !����&*����'���'�����
� �����������:�����"�<���'������������������'��"�����'��&��"�"�%����������"�����'���'����
� �������
provide_<facet_name>;
� "�<����
get_consumer_<event_type>;
Component<facet_name> Component
<event_type>
�����������
--
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
�����������
-.
�����������������������
��"���������"�� ��9�� !����������"���������"��
� ��������������
� �'���������������'��"������'��������"�%A��"��������"�%A�����%���"�%����������"�����'���'����(�)
connect_<receptacle_name> (facet_reference)
� �:�������'������
� �'���������������'��"������'���&��'"&"�%���������&��'"&"�%�����'��������:����
connect_<source_name> (consumer_reference)
�����������
-1
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
�����������
-2
�����������������������
�������"���� !�������&*���Component
##��$%���
<component_name>
Attribute
provide_<facet_name>get_consumer_<event_type>connect_<receptacle_name>connect_<source_name>
�����������
-3
�����������������������
�������"���� !�������&*���Component
##��$%���
<component_name>
Attribute
provide_<facet_name>get_consumer_<event_type>connect_<receptacle_name>connect_<source_name>
CCMObject
�����������
.4
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
����������� �����������������������
����� !�����"�%������������������@�����
�����������
.#
�����������������������
����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
.8
�����������������������
��:����"��
serverClient
Component
Base ref.
Facet
Receptacle
�����������
.+
�����������������������
������������������'���
serverClient
�� �
������� ���
�����������
.-
����������������������������������
$����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
..
�����������������������
���������� !
server
�� �
interface Display
{
void display_hello();
};
�����������
.1
����������������������������������
$����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
.2
�����������������������
����� �':�'������ !
server
component Server
{
/**
** The facet for Clients components.
**/
provides Display for_clients;
};
for_clients
Display
�����������
.3
����������������������������������
$����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
14
�����������������������
��"��������� !
Client
component Client
{
/**
** The receptacle to_server to connect the Client component
** to a Display object or facet reference.
**/
uses Display to_server;
};
to_server
Display
�����������
1$
����������������������������������
$����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
1#
�����������������������
�':�'������ !�����"�%
component Server
{
provides Display for_clients;
};
interface Server :
::Components::CCMObject
{
Display provide_for_clients();
};
server
for_clients
Display�����������
�����������
18
����������������������������������
$����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
1+
�����������������������
��"��������� !�����"�%
component Client
{
uses Display to_server;
};
interface Client :
::Components::CCMObject
{
void connect_to_server(in Display connexion)
raises(…);
Display disconnect_to_server()
raises(…);
Display get_connection_to_server();
}
Client
to_server
Display
�����������
�����������
1-
����������������������������������
$����� !�����"�%������������������@�����
� �����������������&*����� !
� �':�'������������������ !
� ��"��������������������� !
� �':�'������������������ !�����"�%
� ��"��������������������� !�����"�%
� ���������������������&�0�
�����������
1.
�����������������������
����������������������"��
�� �
Display
�����$�
provide_for_clients();connect_to_server();
Client
to_server
Serverfor_clients
�����������
11
�����������������������
Assembly Client Server
provide_for_clients();
x
connect_to_server(x);
�������"��� ����'"���������������"��
Client Server
�����$�
to_server for_clients
�����������
12
����������������������������������
$�����������"���� !�����"�%
� ����"�%������
� ��������������"�%
� �����&*���
� ����������:���� "�<�����"�%
� ����������������:���� ��'�������"�%
� �����������&*���
� �����������������@�����
� �:����� ��'��� "�<��@�����
����������� �����������������������
����� !�����"�%� ��'��� "�<��@�����
�����������
24
�����������������������
����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
2$
�����������������������
�:����
Client
server
+����)�����
+�����)��,
Component
Base ref.
Event Source
Event Sink�������
���info_to_send
received_info
�����������
2#
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
28
�����������������������
��"��5?������"����7�� !��9�� !�����"�%������
� ����:�����0���"�����������
� ��:������0��
�"���'"�"�%��'����������������:��������
� ���������'"���'�����
�"���'"�"�%��'����������������:����������'����
�����������
2+
�����������������������
�:��������� !
Client
Server
+�����������
+��������,
Event
Type
�� �info_to_send
received_info
#����������������
�����������
2-
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
2.
�����������������������
�:�����&*��������� !
eventtype HelloInfo
{
/**
** Just contains a string.
**/
public string text;
};
�������
�����������
21
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
22
�����������������������
�':�'����:�����"�<������ !
component Server
{
/**
** The status info event consumer.
**/
consumes HelloInfo received_info;
};
received_info
Event
type
server
�����������
23
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
34
�����������������������
��"�������:��������'�� ����� !
Client
component Client
{
/**
** The status info event source.
**/
emits HelloInfo info_to_send;
};
Event
Type
HelloInfo
info_to_send
�����������
3$
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
3#
�����������������������
�����:����/0�������� !����"�%�
Event
Type
�� �
�����������
#�����������������
�� �
-����(���
�����������
38
�����������������������
��"��5?������"����7�� !��9�� !�����"�%������
� ����:�����0���"�����������
� ��:������0��
�"���'"�"�%��'����������������:��������
� ���������'"���'�����
�"���'"�"�%��'����������������:����������'����
�����������
3+
�����������������������
�:�����0�������� !�����"�%���:������0��
valuetype HelloInfo : ::Components::EventBase
{public string text;
}
eventtype HelloInfo
{
public string text;
};
�����������
�����������
3-
�����������������������
�:�����0�������� !�����"�%�����������'�����'����
eventtype HelloInfo
{
public string text;
};
�����������
Interface HelloInfoConsumer :::Components::EventConsumerBase
{
void push_HelloInfo (
in HelloInfo the_HelloInfo );
};
�����������
3.
�����������������������
�:�����0�������� !����"�%��:����������'
Client
Server+�����������
+��������,
Event
Type
�� �
��>��������������������'��&*���
push_HelloInfo (the_HelloInfo)
�����������
31
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
32
�����������������������
�':�'��� "�<������ !�����"�%component Server
{
consumes HelloInfo received_info;
};
interface Server :
::Components::CCMObject
{
HelloInfoConsumer get_consumer_received_info();
}
�����������
server
�� �
.������#�������
received_info
�����������
33
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
$44
�����������������������
��"�������:�������'�������� !�����"�%
component Client
{
emits HelloInfo info_to_send;
};
Client
Info_to_sendServer
�� �
Consumer
�����������
interface Client : ::Components::CCMObject
{void connect_info_to_send(
in HelloInfoConsumer consumer):
HelloInfoConsumer disconnect_info_to_send();
};
�����������
$4$
����������������������������������
$����� !�����"�%� ��'��� "�<��@�����
� �:����/0�������"�%
� �:�����&*����� !
� �':�'������������:�����"�<�� !
� ��"���������������:�������'���� !
� �:����/0�������"�%
� �':�'������������:�����"�<�� !�����"�%
� ��"���������������:�������'���� !�����"�%
� �:���������&�0
�����������
$4#
�����������������������
�����������:�����������"��
Info_to_send
Client Server
�� �
HelloInfoConsumer
�����$�
get_consumer_received_infoconnect_info_to_send
received_info
�����������
$48
�����������������������
Assembly Client Server
get_consumer_received_info();
x
connect_info_to_send(x);
�������"��� ����'"����:�����������"��
ClientServer
�����$�
info_to_send
received_info
�����������
$4+
����������������������������������
$
�����������������������
����� !������ !�����"�%
� ����� !�&"%��"���'�
� ���������������'��
� �����������"���� !�(����� !)
� ����!������ !����&*�����������������
� ����!������ !��� ���"�������������
� ����!������ !�����"�%�
����������� �����������������������
����!������ !����&*�����������������
�����������
$4.
�����������������������
����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$41
�����������������������
'����&*����/�����������
�����������������"���������0�&����������&*����
�����������
$42
�����������������������
���������������������&*���
��������������� ��������������
���� � ���� � ����
� ����
� ����
���� ��
����
�����������
�����������
$43
�����������������������
���������������&*���
��������������� ��������������
���� � ���� �
�
�
���� ��
����
��������
�����������
$$4
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$$$
�����������������������
����� � ������
�� �
� ����
��������
������&*���
�����������
$$#
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$$8
�����������������������
����������,'�@0�,����'�
�� �
�����������
$$+
�����������������������
����������,'�@0�,����'�
�� �
<������
�����������
$$-
�����������������������
����������,'�@0�,����'�
,'�@0
�� �
<������
�����������
$$.
�����������������������
����������,'�@0�,����'�
,'�@0
�� �
<������
�&*���������������"��
�����������
$$1
�����������������������
����������,'�@0�,����'�
,'�@0
�� �
<������
�&*���������������"��
��&
�����������
$$2
�����������������������
����������,'�@0�,����'�
,'�@0
�� �
<������
�&*���������������"��
��&#����
�����������
$$3
�����������������������
�����"��'������&*���������������"���$%������),�����#����
�� �
#�����,
�����������
$#4
�����������������������
����'"���������������&��<
<������
�� �
�����������
$#$
�����������������������
����'"���������������&��<
<������
�&*���������������"��
�� �
�����������
$##
�����������������������
����'"���������������&��<
<������
�&*���������������"��
�/�
�� �
�����������
$#8
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$#+
�����������������������
����'"���������������&��<
),�����
��������<����'��"��
��������<����'��"��
��������<����'��"��
�&*���������������"��
��������<����'��"��
��������<����'��"��
��������<����'��"��
�/�
�� �
�����������
$#-
�����������������������
����'"���������������&��<
),�����
��������<����'��"��
��������<����'��"��
��������<����'��"��
�&*���������������"��
��������<����'��"��
��������<����'��"��
��������<����'��"��
�/�
�� �
Call-back
Call-back
Call-back
�����������
$#.
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$#1
�����������������������
)���������*���0�������
�&*�������<�%"�%�����'����':�'
� �����������
�������
Call-back
Call-back
Call-back
)�������,�����
�� �
�����������
$#2
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
Call-back
Call-back
Call-back
)�������,�����
�� �
�����������
$#3
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
Call-back
Call-back
Call-back
)�������,�����
�� �
�����������
$84
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$8$
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
Call-back
Call-back
Call-back
���
���
)�������,�����
�����������
$8#
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
Call-back
Call-back
Call-back
���
���
)�������,�����
�����������
$88
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
Call-back
Call-back
Call-back
���
���
)�������,�����
�����������
$8+
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
���
���
)�������,����� +1������
Call-back
Call-back
Call-back
�����������
$8-
�����������������������
�&*�������<�%"�%�����'����':�'
� �����������
�������
���
���
)�������,�����
+1������
�����������
$8.
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$81
�����������������������
�&*�������<�%"�%���,�'����"���
#����� ������
�� �
����� � ������
���
�����������
$82
�����������������������
�&*�������<�%"�%���,�'����"���
#���� � ������
���)��$
����� � ������
���
�����������
$83
�����������������������
�&*�����������&���,�'����"���
#���� )�����)��������1�
�����������
$+4
�����������������������
,'�@0���������'����
,'�@0
�� �
�����������
$+$
�����������������������
,'�@0���������'����
,'�@0
��&
�� �
�����������
$+#
�����������������������
,'�@0���������'����
,'�@0
��&#����
�� �
�����������
$+8
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$++
�����������������������
����� � ������
�� �
� ������
� ������
�� �
�� �
���� �� � ���
� ����
�&*����,��<�%"�%����0&'"�� �':�'�������"�"��
�����������
$+-
�����������������������
����� � ������
�� �
� ������
� ������
�� �
�� �
���� �� � ���
� ����
�&*����������"�"���� �
�����������
$+.
�����������������������
����� � ������
� ������
� ������
���� �� � ���
� ����
�&*����������"�"��
���� ������������
!�
��������������
!
�����������
$+1
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$+2
�����������������������
�&*�����������&
�$%������ )������2 )������ )������2���1�
)������ ���1�
�����������
$+3
�����������������������
�����������������&��������"��'������@�
�$%������ )������2 )������ )������2���1�
)������ ���1�
#��������
���������������
���������������
3
3
�����������
$-4
�����������������������
�����������������&��������"��'������@�
�$%������ )������2 )������ #��������
���������������
���������������
#����1�
)��$
���&#���������
�����������
$-$
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$-#
�����������������������
�&*�������<�%"�%����0&'"����':�'
)�������,�����
�� � Call-back
Call-back
Call-back
� �������� �
� ����������� � ������
������� ���
�����������
$-8
�����������������������
�&*�������<�%"�%���������"����&*���
)�������,�����
�� � Call-back
Call-back
Call-back
� ������
���)��$
���
� ����������� � ������
������� ���
�����������
$-+
�����������������������
�&*�������<�%"�%
)�������,�����
�� � Call-back
Call-back
Call-back
� ������
���)��$���
� ����������� � ������
������� ���
�����������
$--
�����������������������
�&*�������<�%"�%
)�������,�����
�� � Call-back
Call-back
Call-back
� ������
���)��$���
� ������
���
� ����������� � ������
������� ���
�����������
$-.
�����������������������
�&*�������<�%"�%
)�������,�����
�� � Call-back
Call-back
Call-back
� ������
���)��$���
� ������
���
� ����������� � ������
������� ���
�����������
$-1
�����������������������
�&*���������
)�������,�����
Call-back
Call-back
Call-back
� ������
���)��$���
� ������
������
���
� ����������� � ������
������� ���
�����������
$-2
�����������������������
����������'���������
)�������,�����
Call-back
Call-back
Call-back
���
)��$���
���
���
���
� ����������� � ������
������� ���
�����������
$-3
�����������������������
����������'���������
)�������,�����
Call-back
Call-back
Call-back
���
)��$���
���
���
���
� ����������� � ������
������� ���
�����������
$.4
�����������������������
����������'���������
)�������,�����
Call-back
Call-back
Call-back
���
)��$���
���
���
���
� ����������� � ������
������� ���
�����������
$.$
�����������������������
����������'���������
)�������,�����
Call-back
Call-back
Call-back
���
���
���
���
���
)��$
� ����������� � ������
������� ���
�����������
$.#
�����������������������
����������'���������
)�������,��������
���
���
���
���
)��$
� ����������� � ������
������� ���
+1������
�����������
$.8
�����������������������
���������������@�
)�������,��������
���
���
���
���
�����@�
� ����������� � ������
������� ���
+1������
�����������
$.+
����������������������������������
$����!������ !����&*�����������������
� ������&*���
� �������&*��������,'�@0�,����'�
� <�������������������<
� �&*�������<�%"�%�,�'�� �:�'
� ,�'�� �:�'�����������������������'����@�����'
� �&*�������<�%"�%�,�'����"�������������
� �&*����������"�"��
� �����"��'���'��&*����������"�"���
� ,�'����"����������������������������� "�<������@��
� ���������������'��
�����������
$.-
�����������������������
���������������'��
)�������,��������
���
���
���
���
�����@�+1������
�����������
$..
�����������������������
���������������'��
+1������ #����1�
������� ���#��������
�����������
$.1
����������������������������������
$
�����������������������
����� !������ !�����"�%
� ����� !�&"%��"���'�
� ���������������'��
� �����������"���� !�(����� !)
� ����!������ !����&*�����������������
� ����!������ !��� ���"�������������
� ����!������ !�����"�%�
����������� �����������������������
����!������ !��� ���"������������
�����������
$.3
�����������������������
����!������ !��� ���"������������
� ����������'��:"��
� ��'"B��������0�'��:"��
� �����������"����0���
� ,�'����"���
� ���<��������������'��:"��
�����������
$����!������ !��� ���"������������
� ����������'��:"��
� ��'"B��������0�'��:"��
� �����������"����0���
� ,�'����"���
� ���<��������������'��:"��
�����������
$1$
�����������������������
/��������"��'��'��"�����'�
Container
ORB
SecurityTransaction NotificationPersistency
CORBAComponent
HomeP
OA
Client
ExtendedOMG IDLexternal
API
InternalAPI
CallbackAPI
�����������
$����!������ !��� ���"������������
� ����������'��:"��
� ��'"B��������0�'��:"��
� �����������"����0���
� ,�'����"���
� ���<��������������'��:"��
�����������
$18
�����������������������
���������������'��
+1������ #����1�
������� ���#��������
�����������
$1+
�����������������������
!������ !����@�����'
Component
+1������
�����������
$1-
�����������������������
!������ !����@�����'������������"��
Component+1������
�����������
$1.
�����������������������
Component
!������ !����@�����'������������"��
+1������
�����������
$11
�����������������������
Component+1������
!������ !�����"���@�����'�"���'����
�����+1������
�����������
$����!������ !��� ���"������������
� ����������'��:"��
� ��'"B��������0�'��:"��
� �����������"����0���
� ,�'����"���
� ���<��������������'��:"��
�����������
$13
�����������������������
�����������������"�%'��
�������
������
#����1�
������
)��&�������&�����1�!"
##�&���������!"
##�&��������!"
##�&��������!"
##�&������!" ##�&������!"
�����������
$24
�����������������������
Component
+1������
!������ !��� ���"������������
)�������#��������
�����+1������
�����������
$2$
�����������������������
!������ !��� ���"������������
)������#��������
���&�������&�����1�!"
���&��������!"
���&���������!"
���&������!"
#��������&���
�����������
$2#
�����������������������
Component
+1������
!������ !��� ���"������������
)�������#��������
�����+1������
��������4���
#������������
���������������������
���
�����������
$28
�����������������������
Component
+1������
!������ !��� ���"��������@�
)�������#��������
�����+1������
)�������#����1�
�����������
$����!������ !��� ���"������������
� ����������'��:"��
� ��'"B��������0�'��:"��
� �����������"����0���
� ,�'����"���
� ���<��������������'��:"��
�����������
$2-
�����������������������
Component
+1������
!������ !�����'����':�'
)�������#��������
�����+1������
�����������
$2.
�����������������������
Component
+1������
!������ !�����'����':�'
)�������#��������
�����+1������
#����1�
�����������
$21
�����������������������
����������!�����"���'����
Component
ContextExecutor
������������������
������� ���Component
�����������
$����!������ !��� ���"������������
� ����������'��:"��
� ��'"B��������0�'��:"��
� �����������"����0���
� ,�'����"���
� ���<��������������'��:"��
�����������
$23
�����������������������
/��������"��'��'��"�����'�
Container
ORB
SecurityTransaction NotificationPersistency
CORBAComponent
HomeP
OA
Client
ExtendedOMG IDLexternal
API
InternalAPI
CallbackAPI
�����������
$34
�����������������������
Component
+1������
!������ !��������"��'��'��"�����'�
)�������#��������
�����+1������
)�������#����1�
ExtendedOMG IDLexternal
API
ExtendedOMG IDLexternal
API
Extended OMG IDL external API
InternalAPI
Call back API
�����������
$3$
�����������������������
/��������"��'��'��"�����'�
Container
ORB
SecurityTransaction NotificationPersistency
CORBAComponent
HomeP
OA
Client
ExtendedOMG IDLexternal
API
InternalAPI
CallbackAPI
�����������
$3#
����������������������������������
$
�����������������������
����� !������ !�����"�%
� ����� !�&"%��"���'�
� ���������������'��
� �����������"���� !�(����� !)
� ����!������ !����&*�����������������
� ����!������ !��� ���"�������������
� ����!������ !�����"�%�
����������� �����������������������
����!������ !�����"�%
�����������
$3+
�����������������������
����!������ !
� �@�����'
� �����@�
� ���"������������
�����������
$����!������ !
� �@�����'
� �����@�
� ���"������������
����������� �����������������������
�����@�����'
�����������
$31
�����������������������
�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
$33
�����������������������
����������!�����"���'����
Component
ContextExecutor
������������������
������� ���
�����������
#44
�����������������������
����������!����������&��<�"���'���������':�'
Component
Executor
������������������
�������
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
#4#
�����������������������
������@�����'
������� ���
+1������
�����������
#48
�����������������������
������@�����'
� �'���������6�&��'�����������6������"���'�����
� ���������������@�����'�"���'�����"��%���'������
� /�"���������@�����'�"���'������
� ��������������������������'"%"����"���'���� �"�����5##�&6�'��"@A�
� ����"���'"��������'"%"����"���'������
� �'����"���'�������������C"���'���� ����DA������������@�����'�"���'�������������������"�%���'��
local interface CCM_<interface name> :
<interface name> { };
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
#4-
�����������������������
�������'��@�����'
+1������
������� ���
+1������
�����������
#4.
�����������������������
�:����0�������������'��@�����'
� �'�������:����0���
� ���������������'��@�����'"���'���� "��%���'������
� �'�����:����0�� C�:����0�� ����D�
� ��������"���'������"����������������A�&����"�����5���E7��'��"@������������"@����5�������'7�"��%���'������
� /�"��"���'������������"�%�����������'��"����"������'�����A���������:����0�� ������"�%���"����'�����'�
local interface CCM_<eventtype name>Consumer{
void push (in <eventtype name> ev);};
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
#42
�����������������������
�����������������@�����'
+1������
+1������
�����������
#43
�����������������������
����5��':�'��"��7�������"���'����
� �������������0���"��������������'���������"���'�������
� �@�����'�������6&��<
� /�����"�������������@�����'"���'����
� ����'"�"�%��'���Components::EnterpriseComponent
� /��������"��"�������������@�����'"���'����
� �����@����"�:����"��
� /�����������������"�"�������@��"���'����
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
#$$
�����������������������
������������"���@�����'�����'����
� /�����"���@�����'�����&��<�"���'�������������&0�����������'����'�����"�����"����&0�����������"�%�'�����
� �'����������������C�������������DA�����������"���@�����'�"���'������"���������������������������������A�&����"������'��"@���5���E7������������"@����5E�@�����'7�"�����"����
� /�����"���@�����'�"���'����������"����������'"&����������'���&0���������������
�����������
#$#
�����������������������
�':�'�������"���'����������"���@�����'
local interface CCM_Server_Executor :::Components::EnterpriseComponent
// Main executor
{};
�����������
#$8
�����������������������
�@��'�������������������&��<�"���'�����
#��������
4����
)��,
#��������
4����
)��,
�������
�������1������
���,��1������
������1������
�����������
#$+
�����������������������
�����"��'��'��"�����'�����@�����'!�����'
������1������
#���������������
)��,
)��,
4����
4����
�@�����'!�����'
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
#$.
�����������������������
���������������"��"���@�����'�����'����
� /��������"��"���@�����'�����&��<�"���'�����"�����"����&0�����������"�%�'�����
� �'����������������C�������������DA��������������"��"��@�����'�"���'������"�����������������������������������������'��"@����5���E7�"�����"����
� /��������"��"���@�����'�������������"@����5E�@�����'7�
� ���������"��"���@�����'�"���'�����"���'"�����������������'�'"������������
� ���"�"��������'��"�����'��������������������"��"��"���'�������'�������������:�����"�<��
� �&�:��'���������&�����"��"���&0�"���'"�"�%�������"���@�����'�"���'������������"�%����'��"������'�������������:�����"�<���
� /�"��"��������"��������"%�����"���&0����������"��'�"����������"��
�����������
#$1
�����������������������
�':�'�������"���'���������@�����'
local interface CCM_Server_Executor :::Components::EnterpriseComponent
// Main executor
{};
local interface CCM_Server : ::CCM_Server_Executor
// monolithic executor
{};
�����������
#$2
�����������������������
����������"�<������"��"���@�����'
� /��������"��"���@�����'����&��<�"���'���������������"������'��"������'���>�"'"�%�'���'��������������A�������'�������"�%��:����
� "������������'����'����A�"��"�����"�����&0�����������'�
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
##4
�����������������������
���������������"��"���@�����'
� �'�����������A�����>�":���������'��"���"�����"����"�����������"��"���@�����'�"���'������
� �'�����������������C����D������0���C�0��DA�������'��"����"������������������������������&����"�����5%��E7��'��"@�"��%���'������
� /�"�����'��"��������������0���'�����'��"���������'���'�����������"���'����F��������@�����'��0������'���'��:�����
CCM_<type> get_<name> ();
�����������
##$
�����������������������
�':�'�������"���'�������������"��"���@�����'
local interface CCM_Server_Executor :::Components::EnterpriseComponent
// Main executor
{};
local interface CCM_Server : ::CCM_Server_Executor
// monolithic executor
{
CCM_Display get_for_clients();
};
�����������
###
�����������������������
�':�'�������"���'�������������"��"���@�����'
local interface CCM_Server_Executor :::Components::EnterpriseComponent
{};
local interface CCM_Server:::CCM_Server_Executor
{
CCM_Display get_for_clients();
};
local interface CCM_Server_Context :
::Components::CCMContext
{};
�����������
##8
�����������������������
�����"��'��'��"�����'���������"��"���@�����'
������7���1������
#���������������
4����
4����
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
##-
�����������������������
�':�'� "�<����������"��"���@�����'
� �'�����������"����������"����������������������"��"��@�����'���'���%0A����������"��'�"�:�<����"�<��@�����'���'��"��������:�'�����"��������������:���������"���"�<�
local interface CCM_Server : CCM_Server_Executor
{
void push_received_Info(in HelloInfo event);
}
Executor
push_received_info(in HelloInfo event)
�����������
##.
�����������������������
�':�'�������"���'���������@�����'
local interface CCM_Server_Executor :::Components::EnterpriseComponent
// Main executor
{};
local interface CCM_Server : ::CCM_Server_Executor
// monolithic executor
{
void push_received_info_(in HelloInfo event);
};
�����������
##1
�����������������������
�':�'�!�����"���'�����
local interface CCM_Server_Executor :::Components::EnterpriseComponent
{};
local interface CCM_Server:::CCM_Server_Executor
{
void push_received_info(in HelloInfo event);
};
local interface CCM_Server_Context :
::Components::CCMContext
{};
�����������
##2
�����������������������
�����"��'��'��"�����'���������"��"���@�����'
������1������
#���������������
)��,
)��,
�����������
$�@�����'
� ������@�����'
� �������'��@�����'
� �����������@�����'
� ��"���@�����'
� �����"��"���@�����'
� ����
� �������'
� ,�'�� �':�'
�����������
#84
�����������������������
�@�����'����,�'�� �':�'#��������
4����
)��,
#����������1������
�������1������
�������
���,��1������
�����������
#8$
�����������������������
�@�����'����,�'�� �':�'#��������
4����
)��,
#����������1������
�������1������
�������
���,��1������
4����
)��,
���
���
�����������
#8#
�����������������������
�@�����'����,�'�� �':�'
#��������
4����
)��,
#��������
4����
)��,
�������
�����������
#88
�����������������������
�@�����'����,�'�� �':�'
#��������
4����
)��,
#��������
4����
)��,
�������
�������1������
���,��1������
�����������
#8+
�����������������������
�@�����'����,�'�� �':�'��������"��"���@�����'
������1������
#���������������
)��,
4����
)��,4����
�����������
$����!������ !
� �@�����'
� �����@�
� ���"������������
����������� �����������������������
���������@�
�����������
#81
�����������������������
�����@�
� �����@�
� ������������������"��
� ��"���'�����,�&�"���'��������"��
� ,�'����"���
�����������
$�����@�
� �����@�
� ������������������"��
� ��"���'�����,�&�"���'��������"��
� ,�'����"���
�����������
#83
�����������������������
����������!������"'����"���'�������,�'����"���
Component
Context
������������������
���
�����������
#+4
�����������������������
���������������'�����'����������������@�
)��$
#����1�
���
/��������
�����������
#+$
�����������������������
���������������'�������"���'���&�"���'������@�
)��$
#����1�
���
�������
�����������
$�����@�
� �����@�
� ������������������"��
� ��"���'�����,�&�"���'��������"��
� ,�'����"���
�����������
#+8
�����������������������
�����������������&��������"��'������@�
�$%������ )������2 )������ #��������
���������������
���������������
#����1�
)��$
���&#���������
�����������
#++
�����������������������
����5��':�'��"��7�������"���'����
� �������������0���"��������������'���������"���'�������
� �@�����'�������6&��<
� /�����"�������������@�����'"���'����
� ����'"�"�%��'���Components::EnterpriseComponent
� /��������"��"�������������@�����'"���'����
� �����@����"�:����"��
� /�����������������"�"�������@��"���'����
� ���'��"������������������������'����������������:�������'���
�����������
#+-
�����������������������
���������������@������'����
� /��������@��"���'����"���'�����"�����"����&0�����������"�%�'�����
� �'����������������C�������������DA��������������@�"���'������"���������������������������������A�&����"������'��"@����5���E7������������"@����5E�����@�7�"�����"����
� ���������@��"���'�����"���'"�����������������������@��
� ���"�"��������'��"�����'�������������������@��"���'�������'�'����������������:�������'����
�����������
#+.
�����������������������
���������������@������'����
�����������
#+1
�����������������������
"���'���������@�
� �������@��"���'�����"�����"������'�����������������
� /��������@��"���'����������"������������6����"�"��'���"���"���'���"����
� ��'�"�:�<"�%����'��"�������'����������
� ��'�����"�%��:�����"�����:�������'�����'���
� ���"��"�����������&0����������"��'������������������������������������"��������@��(?������E�����@�)��
� /�������"��������@��"��������������������������&0����E����"��E�����@����'��"����������"��E���������
�����������
#+2
�����������������������
�����������
� �'������'���������A�����>�":���������'��"���"�����"����"�����������@��"���'�����
� /����"%����'�������"�����'��"��������������������'�����'����������"���"����@��'�����"���@�
� �'����"����@�'������������������C����D������0���C�0��DA�������'��"���������������������������'����������&����"�����5%��E�������"��E7��'��"@�"��%���'�����
� /������'��"��������������0���'�����'��"��A���������&*����'���'���� �������"���'����F���0�� ���'���'��:�����
� ������'��"������������"��A���"�����'��"���'���'������"��'���'�����
<type> get_connection_<name> ();
�����������
#+3
�����������������������
����"���@�'����������
� �'�������"���@�'������������������C����D�����0���C�0��DA������'��"���������������������������'����������&����"�����5%��E�������"���E7��'��"@�"��%���'������
� /������'��"��������������0���'�����'��"�����������>����������0���C����D�������"������'���'��:�����(��"���0���"�����"����&0�������"���6�"����>�":������� !)�
<name>Connections get_connections_<name> ();
�����������
#-4
�����������������������
�������������"����������"���'�������������@�
local interface CCM_Client_Context : ::Components::CCMContext
{
Display get_connection_to_server();
};
�����������
$�����@�
� �����@�
� ������������������"��
� ��"���'�����,�&�"���'��������"��
� ,�'����"���
�����������
#-#
�����������������������
,�&�"���'�������"���'��"���������@�
� �'��������&�"���'�������"���'���'�A�����>�":���������'��"���"�����"����"�����������@��"���'������
� �'���&�"���'��'���"���'���'����������C����D������0���C�0��D��
� ������'��"�����������������������������'��&����"�����5����E7��'��"@�"��%���'������
� /�"�����'��"����������'���'��:������������"�%���"����'�����'������"�"�%������:����
� �������7&8����9�!���8����9���":
� /���������������0��������"�����'��"���"���'��'�������������:������������������'�(��'���"���'���'��)��'����������&��'"&�'��(��'���&�"���'���'��)�
Info_to_send
Client void push_info_to_send(in HelloInfo event);
�����������
#-8
�����������������������
��"���'���"���������@�
local interface CCM_Client_Context :
::Components::CCMContext
{
void push_info_to_send(in HelloInfo event);
}
Context
void push_info_to_send(in HelloInfo event);
�����������
$�����@�
� �����@�
� ������������������"��
� ��"���'�����,�&�"���'��������"��
� ,�'����"���
�����������
#--
�����������������������
,�'����"���
Component
Context
������������������
������� ���
�����������
#-.
�����������������������
,�'����"���
#��������
#��������
#����1�
���
/��������
�������
�����������
#-1
�����������������������
�0&'"�����������
Component
ContextExecutor
������������������
������� ���
�����������
#-2
�����������������������
�@��'�������������������&��<������"'����"���'�����
#��������
4����
)��,
#��������
4����
)��,
�������
#����1�
���
/��������
�������
�����������
$����!������ !
� �@�����'
� �����@�
� ���"������������
����������� �����������������������
���"������������
�����������
#.$
�����������������������
���"������������
� ���������������@��
� �������������":��"����!"����0���
� ���"��������@��������"��'�"���'"�����
� ��'��@�����'
�����������
#.#
����������������������������������
$ ���"������������
� ���������������@��
� �������������":��"��
� ���"��������@��������"��'�"���'"�����
� ��'��@�����'
�����������
#.8
�����������������������
����������!�����"���'����
Component
ContextExecutor
������������������
������� ���Component
�����������
#.+
�����������������������
���������������'��
+1������ #����1�
������� ���#��������
�����������
#.-
�����������������������
���������������'������'����':�'
+1������
�������#��������
�����������
#..
�����������������������
���������������'�������'����"���
+1������ #����1�
������� ���#��������
�����������
#.1
�����������������������
�����������������&��������"��'������@�
�$%������ )������2 )������ #��������
���������������
���������������
#����1�
)��$
���&#���������
33
�����������
#.2
����������������������������������
$ ���"������������
� ���������������@��
� �������������":��"��
� ���"��������@��������"��'�"���'"�����
� ��'��@�����'
�����������
#.3
�����������������������
��������������"��
+1������ #����1�
���
#��������
�����������
#14
�����������������������
��������������"��
+1������ #����1�
���
#��������
#����������������
�����������
#1$
�����������������������
��������������"��
+1������ #����1�
���
#��������
#����������������
�����������
#1#
�����������������������
��������������"��
+1������ #����1�
������� ���
#��������
#����������������
�����������
#18
�����������������������
�@�����'���������"�������������#��������
4����
)��,
#����������1������
�������1������
�������
���,��1������
�����������
#1+
�����������������������
�@�����'���������"������������
#��������
4����
)��,
#����������1������
�������1������
�������
���,��1������
�����������
#1-
�����������������������
���"������������
� /��� ���"�����������"��������&��<�"���'�����"�����������&0�������"��������������������
� ����'�:"�������'��"������'��"������"��"�%��������@���"����������������������������%����':�����"���"������'�������"��������������
� ���������"������������A��������'���0����"�����0�"���'"������������������ ���"�����������"���'������
� �����"��'����"�"���"�����'��������������"����0���������������������":��"�����������":��"���
�����������
#1.
�����������������������
���"������������
�����������
#11
�����������������������
���"������������
� ���E����"��E�����@�
� /������E����"��E�����@�����'��"���"������������������ ���"�������@�������������������/��������"��'���������"�����'��"�������'�������������"������������&�����'�������
� ���E���":���
� /������E���":�������'��"���"���������&0����������"��'�������"�0������"������������������"������&������������":���/�������������"�����������������'��'����0�"�"�"��"B��"�� '�>�"'����'"�'�������'��"���"�:����"����
� ���E����":���
� /������E����":��� ���'��"���"���������&0����������"��'�������"�0������"������������������"������&���������"����":���/�������������"���������������'������ ��0�'����'����"����>�"'���������":��"����"����
� ���E'���:�
� /������E'���:�����'��"���"���������&0����������"��'������������':����"��&�������&������'�0�������"���'����������������������"��"���&�������&������'�0����
�����������
#12
�����������������������
���"������������
// Container callback implemented by the component
local interface SessionComponent :
::Components::EnterpriseComponent
{
// The context is fixed by the container.
void set_session_context(SessionContext ctx)
raises(CCMException);
// Called when component is activated.
void ccm_activate() raises(CCMException);
// Called when component is deactivated.
void ccm_passivate() raises(CCMException);
// Called when component is removed.
void ccm_remove() raises(CCMException);
};
�����������
#13
����������������������������������
$ ���"������������
� ���������������@��
� �������������":��"��
� ���"��������@��������"��'�"���'"�����
� ��'��@�����'
�����������
#24
�����������������������
���"������������
// Container callback implemented by the component
local interface SessionComponent :
::Components::EnterpriseComponent
{
// The context is fixed by the container.
void set_session_context(SessionContext ctx)
raises(CCMException);
// Called when component is activated.
void ccm_activate() raises(CCMException);
// Called when component is deactivated.
void ccm_passivate() raises(CCMException);
// Called when component is removed.
void ccm_remove() raises(CCMException);
};
SessionContext
�����������
#2$
�����������������������
�����@�������"��'�"���'���
�����������
#2#
�����������������������
�����"��'������@����''��"�%
� /��������"��'��"������������"���'����������"���'"���&�����������EC�������������DE�����@�"���'��������������������� ���"�������@�
� /�������������"����������"������''������������������� ���"�������@�'���'����������"��'���":�������������EC�������������DE�����@�
�����������
#28
�����������������������
�����������������&��������"��'������@�
�$%������ )������2 )������ #��������
���������������
#����1�
)��$
���&#���������
CCM_Client_Context::_narrow();
�����������
#2+
�����������������������
��������������"��
+1������ #����1�
������� ���
#��������
#����������������
�����������
#2-
����������������������������������
$ ���"������������
� ���������������@��
� �������������":��"��
� ���"��������@��������"��'�"���'"�����
� ��'��@�����'
�����������
#2.
�����������������������
���"���������������������"��"���@�����'
� /��&�����"�"���&0����������"��'����������"��"���@�����'��������"�������������"���'"���������������� ���"�����������"���'�����
�����������
#21
�����������������������
?�������'���������'��@�����'
�����"��"���@�����'
�����������
#22
�����������������������
��'��@�����'
local interface User_CCM_Client :
CCM_Client,
Components::SessionComponent
{};
�����������
#23
�����������������������
����������������'��@�����'�������6&��<#��������
4����
)��,
������7����1������
�������1������
�������
���,��1������
�����������
#34
�����������������������
����������������'��@�����'�������6&��<
#��������
4����
)��,
������7����1������
�������1������
�������
���,��1������