CCM IDL, CORBA Component Model IDL

1,482 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,482
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
37
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CCM IDL, CORBA Component Model IDL

  1. 1. ! quot;
  2. 2. $ # ! ! quot;% !& quot; ' quot; % ' quot; !( !) ! !& * ! ! quot; ! ! quot;%
  3. 3. !& quot; ' quot; %
  4. 4. + !& quot; ' quot; % quot; ! &* quot; ! ! quot; ! quot;% ! ! quot; ' '% ,' quot;%
  5. 5. $ - !& quot; ' quot; % quot; ! &* quot; ! ! quot; ! quot;% ! ! quot; ' '% ,' quot;%
  6. 6. . ' &/ * quot; 0& &*
  7. 7. 1 &*
  8. 8. 2 &*
  9. 9. 3 quot; ! Component
  10. 10. $ $4 !& quot; ' quot; % quot; ! &* quot; ! ! quot; ! quot;% ! ! quot; ' '% ,' quot;%
  11. 11. $$ / 5 quot; 6 quot;7 quot; ! # ! quot; ! quot;
  12. 12. $ $# !& quot; ' quot; % quot; ! &* quot; ! ! quot; ! quot;% ! ! quot; ' '% ,' quot;%
  13. 13. $8 / 5 quot; 6 quot;7 quot; ! quot;% # ! quot; ! quot; # #
  14. 14. $ $+ !& quot; ' quot; % quot; ! &* quot; ! ! quot; ! quot;% ! ! quot; ' '% ,' quot;%
  15. 15. $- / 5 quot; 6 quot;7 9 ! ! quot;% # ! quot; ! quot; # # &' ' # ' # ## $% Server
  16. 16. $ $. ! ! quot;% !& quot; ' quot; % ' quot; !( !) ! !& * ! ! quot; ! ! quot;%
  17. 17. ! '
  18. 18. $2 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  19. 19. $ $3 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  20. 20. #4 ' ' quot;& = quot; '& % ''quot; = ' 'quot; quot; ' (': ) quot; = '> quot; ' 'quot; quot; ' ( ) : ' = ' : : quot;< = : ?: quot; quot;% quot;' quot; ' ! ##( ) quot;
  21. 21. #$ Component interface OFFERED REQUIRED Facets Receptacles My Business Component Event Event sinks sources Attributes
  22. 22. $ ## ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  23. 23. #8 quot;quot;% quot;quot; = &% quot;
  24. 24. $ #+ ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  25. 25. #- ! Name component Name { /** Component features **/ };
  26. 26. $ #. ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  27. 27. #1 &* ! server interface Display { void display_hello(); };
  28. 28. $ #2 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  29. 29. #3 ! for_clients server component Server { /** ** The facet for Clients components. **/ provides Display for_clients; };
  30. 30. $4 8 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  31. 31. 8$ ! Client to_server component Client { /** ** The receptacle to_server to connect the Client component ** to a Display object or facet reference. **/ uses Display to_server; };
  32. 32. $# 8 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  33. 33. 88 : &* ! eventtype HelloInfo { void display_hello(); };
  34. 34. $+ 8 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  35. 35. 8- quot;< ! server received_info component Server { /** ** The status info event consumer. **/ consumes HelloInfo received_info; };
  36. 36. $. 8 ! ' ' &0 ! &* ! ! ! :; /0 ! quot;< ! ' !
  37. 37. 81 ' ! Client info_to_send component Client { /** ** The status info event source. **/ emits HelloInfo info_to_send; };
  38. 38. $2 8 ! ! quot;% !& quot; ' quot; % ' quot; !( !) ! !& * ! ! quot; ! ! quot;%
  39. 39. quot; ! quot;%
  40. 40. +4 quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  41. 41. quot; ! quot;%
  42. 42. $ +# quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  43. 43. +8 quot; quot; 9 ! quot;% 0quot; quot;' quot; 'quot; ' quot;% Components::CCMObject : quot;<' 'quot; '& quot; % quot; quot; '' ' 'quot; ' quot; Aquot; % quot;A % %quot;% quot; ' ' () : ' ' 'quot; ' & 'quot; quot;% & & 'quot; quot;% & ' :
  44. 44. $ ++ quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  45. 45. +- quot; ! ## $% Component
  46. 46. +. quot; ! quot; % ## $% $ # * * # Component
  47. 47. +1 quot; ! quot;' ## $% $ # * Component
  48. 48. +2 quot; ! Component ## $%
  49. 49. $ +3 quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  50. 50. -4 quot; quot; 9 ! &* 0quot; quot;' quot; 'quot; ' quot;% Components::CCMObject Component ## $%
  51. 51. -$ quot; quot; 9 ! &* 0quot; quot;' quot; 'quot; ' quot;% Components::CCMObject Component CCMObject ## $%
  52. 52. -# quot; ! &* Component ## $% CCMObject <component_name> <Connection_Operations> <Attributes>
  53. 53. $ -8 quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  54. 54. -+ quot; quot; 9 ! & '' * : quot;<' 'quot; '& quot; % quot; quot; '' provide_<facet_name>; quot;< get_consumer_<event_type>; <event_type> Component Component <facet_name>
  55. 55. $ -- quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  56. 56. -. quot; quot; 9 ! quot; quot; ' 'quot; ' quot; Aquot; % quot;A % %quot;% quot; ' ' () connect_<receptacle_name> (facet_reference) : ' ' 'quot; ' & 'quot; quot;% & & 'quot; quot;% & ' : connect_<source_name> (consumer_reference)
  57. 57. $ -1 quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  58. 58. -2 quot; ! &* Component ## $% <component_name> provide_<facet_name> get_consumer_<event_type> connect_<receptacle_name> connect_<source_name> Attribute
  59. 59. -3 quot; ! &* Component CCMObject ## $% <component_name> provide_<facet_name> get_consumer_<event_type> connect_<receptacle_name> connect_<source_name> Attribute
  60. 60. $ .4 quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  61. 61. ! quot;% @
  62. 62. .# ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  63. 63. .8 : quot; Component Base ref. Facet Receptacle Client server
  64. 64. .+ ' Client server
  65. 65. $ .- ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  66. 66. .. ! server interface Display { void display_hello(); };
  67. 67. $ .1 ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  68. 68. .2 '' : ! for_clients Display server component Server { /** ** The facet for Clients components. **/ provides Display for_clients; };
  69. 69. $ .3 ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  70. 70. 14 quot; ! Display Client to_server component Client { /** ** The receptacle to_server to connect the Client component ** to a Display object or facet reference. **/ uses Display to_server; };
  71. 71. $ 1$ ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  72. 72. 1# '' : ! quot;% component Server { provides Display for_clients; }; server Display for_clients interface Server : ::Components::CCMObject { Display provide_for_clients(); };
  73. 73. $ 18 ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  74. 74. 1+ quot; ! quot;% component Client { uses Display to_server; Display }; interface Client : ::Components::CCMObject { Client void connect_to_server(in Display connexion) raises(…); to_server Display disconnect_to_server() raises(…); Display get_connection_to_server(); }
  75. 75. $ 1- ! quot;% @ &* ! '' : ! quot; ! '' : ! quot; % quot; ! quot;% &0
  76. 76. 1. quot; Display Client Server for_clients to_server provide_for_clients(); connect_to_server(); $
  77. 77. 11 quot; ' quot; quot; $ Client Server to_server for_clients Assembly Client Server provide_for_clients(); x connect_to_server(x);
  78. 78. $ 12 quot; ! quot;% quot;% quot;% &* : quot;< quot;% : ' quot;% &* @ : 'quot;@ <
  79. 79. ! quot;% ' quot;@ <
  80. 80. 24 ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  81. 81. 2$ Component : Base ref. Event Sink Event Source + ) Client info_to_send + ), server received_info
  82. 82. $ 2# ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  83. 83. 28 quot; 5? quot; 7! 9 ! quot;% : 0quot; : 0 quot; 'quot; ' quot;% : '' quot; quot; 'quot; ' quot;% : '
  84. 84. 2+ : ! Event + Type # Client info_to_send Server + , received_info
  85. 85. $ 2- ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  86. 86. 2. : &* ! eventtype HelloInfo { /** ** Just contains a string. **/ public string text; };
  87. 87. $ 21 ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  88. 88. 22 '' : : quot;< ! Event type server received_info component Server { /** ** The status info event consumer. **/ consumes HelloInfo received_info; };
  89. 89. $ 23 ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  90. 90. 34 quot; : ' ! HelloInfo Event Client Type info_to_send component Client { /** ** The status info event source. **/ emits HelloInfo info_to_send; };
  91. 91. $ 3$ ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  92. 92. 3# : /0 ! quot;% Event Type # - (
  93. 93. 38 quot; 5? quot; 7! 9 ! quot;% : 0quot; : 0 quot; 'quot; ' quot;% : '' quot; quot; 'quot; ' quot;% : '
  94. 94. 3+ : 0 ! quot;% : 0 eventtype HelloInfo { public string text; }; valuetype HelloInfo : ::Components::EventBase { public string text; }
  95. 95. 3- : 0 ! quot;% ' ' eventtype HelloInfo { public string text; }; Interface HelloInfoConsumer : ::Components::EventConsumerBase { void push_HelloInfo ( in HelloInfo the_HelloInfo ); };
  96. 96. 3. : 0 ! quot;: % ' Event Type > '&* push_HelloInfo (the_HelloInfo) Client Server + + ,
  97. 97. $ 31 ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  98. 98. 32 '' quot; : < ! quot;% component Server { consumes HelloInfo received_info; . # }; server interface Server : received_info ::Components::CCMObject { HelloInfoConsumer get_consumer_received_info(); }
  99. 99. $ 33 ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  100. 100. $44 quot; : ' ! quot;% component Client { emits HelloInfo info_to_send; }; interface Client : ::Components::CCMObject { void connect_info_to_send( in HelloInfoConsumer consumer): HelloInfoConsumer disconnect_info_to_send(); }; Consumer Client Server Info_to_send
  101. 101. $$ $4 ! quot;% ' quot;@ < :/ 0 quot;% : &* ! '' : : quot;<! quot; : ' ! :/ 0 quot;% '' : : quot;<! quot;% quot; : ' ! quot;% : &0
  102. 102. $4# : quot; received_info Client Server Info_to_send HelloInfoConsumer get_consumer_received_info connect_info_to_send $
  103. 103. $48 quot; ': quot; quot; $ Server Client received_info info_to_send Assembly Client Server get_consumer_received_info(); x connect_info_to_send(x);
  104. 104. $+ $4 ! ! quot;% !& quot; ' quot; % ' quot; !( !) ! !& * ! ! quot; ! ! quot;%
  105. 105. ! ! &*
  106. 106. $4. ! ! &* &* &* , @, ' '0 < < &* <% %, ' :' quot; , ' :' ' @ ' &* <% %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  107. 107. $41 ' &/ * quot; 0& &*
  108. 108. $42 &*
  109. 109. $43 &*
  110. 110. $ $$4 ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  111. 111. $$$ &*
  112. 112. $ $$# ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  113. 113. $$8 , @, '0 '
  114. 114. $$+ , @, '0 ' <
  115. 115. $$- , @, '0 ' ,@ '0 <
  116. 116. $$. , @, '0 ' ,@ '0 < &* quot;
  117. 117. $$1 , @, '0 ' ,@ '0 < &* & quot;
  118. 118. $$2 , @, '0 ' ,@ '0 < &* # & quot;
  119. 119. $$3 quot;' &* quot; # ), $% # ,
  120. 120. $#4 ' quot; &< <
  121. 121. $#$ ' quot; &< < &* quot;
  122. 122. $## ' quot; &< / < &* quot;
  123. 123. $ $#8 ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  124. 124. $#+ ' quot; &< / ), < 'quot; < 'quot; < 'quot; &* quot; < 'quot; < 'quot; < 'quot;
  125. 125. $#- ' quot; &< / ), < 'quot; < 'quot; Call-back < 'quot; Call-back &* quot; Call-back < 'quot; < 'quot; < 'quot;
  126. 126. $ $#. ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  127. 127. $#1 &* <% % quot; ' '' : ) * 0 ) , Call-back Call-back Call-back
  128. 128. $#2 &* <% % quot; ' '' : ) , Call-back Call-back Call-back
  129. 129. $#3 &* <% % quot; ' '' : ) , Call-back Call-back Call-back
  130. 130. $4 $8 ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  131. 131. $8$ &* <% % quot; ' '' : ) , Call-back Call-back Call-back
  132. 132. $8# &* <% % quot; ' '' : ) , Call-back Call-back Call-back
  133. 133. $88 & * <% % quot; ' '' : ) , Call-back Call-back Call-back
  134. 134. $8+ &* <% % quot; ' '' : +1 ) , Call-back Call-back Call-back
  135. 135. $8- &* <% % quot; ' '' : ) , +1
  136. 136. $. $8 ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  137. 137. $81 &* <% % , ' quot; quot; #
  138. 138. $82 &* <% % , ' quot; quot; # )$
  139. 139. $83 &* & ,' quot; ) # ) 1
  140. 140. $+4 ,@ '0 ' ,@ '0
  141. 141. $+$ ,@ '0 ' ,@ '0 &
  142. 142. $+# ,@ '0 ' ,@ '0 # &
  143. 143. $ $+8 ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  144. 144. $++ & , <% % * quot; 0' &quot; '' : quot;quot;
  145. 145. $+- &* quot;quot;
  146. 146. $+. &* quot;quot; ! !
  147. 147. $ $+1 ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  148. 148. $+2 &* & ) 2 ) $% ) 2 ) 1 1
  149. 149. $+3 & quot;' @ ) 2 ) $% ) 2 ) # 1 1 3 3
  150. 150. $-4 & quot;' @ $% ) 2 ) # # 1 )$ &#
  151. 151. $ $-$ ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  152. 152. $-# &* <% % quot; 0' &quot; '' : ) , Call-back Call-back Call-back
  153. 153. $-8 & * <% % quot; quot; &* ) , )$ Call-back Call-back Call-back
  154. 154. $-+ &* <% % quot; ) , )$ Call-back Call-back Call-back
  155. 155. $-- &* <% % quot; ) , )$ Call-back Call-back Call-back
  156. 156. $-. &* <% % quot; ) , )$ Call-back Call-back Call-back
  157. 157. $-1 &* ) , )$ Call-back Call-back Call-back
  158. 158. $-2 ' ) , )$ Call-back Call-back Call-back
  159. 159. $-3 ' ) , )$ Call-back Call-back Call-back
  160. 160. $.4 ' ) , )$ Call-back Call-back Call-back
  161. 161. $.$ ' ) , )$ Call-back Call-back Call-back
  162. 162. $.# ' ) , )$ +1
  163. 163. $.8 @ @ ) , +1
  164. 164. $ $.+ ! ! &* &* &* , @, ' '0 < < &* < % %, ' : ' quot; ,' :' ' @ ' &* < % %, ' quot; quot; &* quot;quot; quot;' '& * quot;quot; ,' quot; quot;< @ '
  165. 165. $.- ' @ ) , +1
  166. 166. $.. ' # +1 # 1
  167. 167. $ $.1 ! ! quot;% !& quot; ' quot; % ' quot; !( !) ! !& * ! ! quot; ! ! quot;%
  168. 168. ! ! quot;
  169. 169. $.3 ! ! quot; ': quot; ' quot;B 0' : quot; quot;0 ,' quot; < ': quot;
  170. 170. $ ! ! quot; ':quot; ' quot;B 0' :quot; quot;0 ,' quot; < ': quot;
  171. 171. $1$ / quot;'' quot; ' Home C Extended l OMG IDL i external e Callback API CORBA n API Component t Internal API POA Container ORB Transaction Security Persistency Notification
  172. 172. $ ! ! quot; ':quot; ' quot;B 0' :quot; quot;0 ,' quot; < ': quot;
  173. 173. $18 ' # +1 # 1
  174. 174. $1+ ! ! @ ' Component +1
  175. 175. $1- ! ! @ ' quot; Component +1
  176. 176. $1. ! ! @ ' quot; Component +1
  177. 177. $11 ! ! quot;@ '' quot; Component +1 +1
  178. 178. $ ! ! quot; ':quot; ' quot;B 0' :quot; quot;0 ,' quot; < ': quot;
  179. 179. $13 quot;' % )& & 1! quot; #& # ! quot; # 1 #& # ! quot; #& # ! quot; #& # ! quot; #& # ! quot;
  180. 180. $24 ! ! quot; Component +1 +1 ) #
  181. 181. $2$ ! ! quot; ) # # & & & 1!quot; & !quot; & !quot; & ! quot;
  182. 182. $2# ! ! quot; Component 4 # +1 +1 ) #
  183. 183. $28 ! ! quot; @ Component ) # 1 +1 +1 ) #
  184. 184. $ ! ! quot; ':quot; ' quot;B 0' :quot; quot;0 ,' quot; < ': quot;
  185. 185. $2- ! ! ' '' : Component +1 +1 ) #
  186. 186. $2. ! ! ' '' : Component # 1 +1 +1 ) #
  187. 187. $21 ! quot;' Component Component Executor Context
  188. 188. $ ! ! quot; ':quot; ' quot;B 0' :quot; quot;0 ,' quot; < ': quot;
  189. 189. $23 / quot;'' quot; ' Home C Extended l OMG IDL i external e Callback API CORBA n API Component t Internal API POA Container ORB Transaction Security Persistency Notification
  190. 190. $34 ! ! quot;'' quot; ' Component Extended OMG IDL Internal ) # 1 external API API +1 Call back API Extended OMG IDL external API +1 ) # Extended OMG IDL external API
  191. 191. $3$ / quot;'' quot; ' Home C Extended l OMG IDL i external e Callback API CORBA n API Component t Internal API POA Container ORB Transaction Security Persistency Notification
  192. 192. $ $3# ! ! quot;% !& quot; ' quot; % ' quot; !( !) ! !& * ! ! quot; ! ! quot;%
  193. 193. ! ! quot;%
  194. 194. $3+ ! ! @ ' @ quot;
  195. 195. $ ! ! @ ' @ quot;
  196. 196. @ '
  197. 197. $31 @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  198. 198. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  199. 199. $33 ! quot;' Component Executor Context
  200. 200. #44 ! & <quot; ' '' : Component Executor
  201. 201. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  202. 202. #4# @ ' +1
  203. 203. #48 @ ' '6 &' 6 quot;' @ '' quot; quot;% ' /quot; @ '' quot; 'quot; quot; ' quot;% quot; 5 # &6 ' quot; # @A quot;'quot; 'quot; quot; ' quot;% ' quot;' Cquot; ' DA @ ' quot;' quot; %' local interface CCM_<interface name> : <interface name> { };
  204. 204. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  205. 205. #4- '@ ' +1 +1
  206. 206. #4. : 0 '@ ' ' : 0 '@ '' quot; quot;% ' ' : 0 C: 0 D quot;' quot; A&quot;5 E7 ' quot; @ quot;5 @ ' quot;% ' 7 / quot;quot; ' quot;% 'quot; quot; 'A : 0 quot;quot;' % ' local interface CCM_<eventtype name>Consumer { void push (in <eventtype name> ev); };
  207. 207. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  208. 208. #42 @ ' +1 +1
  209. 209. #43 5 ' 'quot; 7 : quot;' 0quot; ' quot;' @ ' 6& < / quot; @ '' quot; Components::EnterpriseComponent 'quot; ' quot;% / quot;quot; @ '' quot; @quot;:quot; / quot;quot; @quot; '
  210. 210. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  211. 211. #$$ quot;@ ' ' / quot;@ ' & <quot; ' &0 '' quot; quot;& 0 quot;' % ' C DA quot;@ ' quot;' quot; A&quot; 'quot; @ 5 E7 quot; 5E @ @ 'quot; quot; 7 / quot;@ '' quot; quot; 'quot; & '&0
  212. 212. #$# '' : quot;' quot;@ ' local interface CCM_Server_Executor : ::Components::EnterpriseComponent // Main executor {};
  213. 213. #$8 @' & <quot; ' # # 1 4 1 4 ), ,1 ),
  214. 214. #$+ quot; '' quot; ' @ ' ! ' # 1 @ ' ! ' 4 4 ), ),
  215. 215. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  216. 216. #$. quot;quot; @ ' ' / quot;quot; @ ' & <quot; ' quot; quot; &0 quot;% ' ' C DA quot;quot; @ '' quot; quot; 'quot; 5 @ E7quot;quot; / quot;quot; @ ' quot; 5E @ @ ' 7 quot;quot; @ '' quot; quot;'quot; ''quot; quot;quot; 'quot; ' quot; quot;quot; ' ' : quot;< &: ' & quot;quot; & quot; 'quot; 0 quot;% quot;@ '' quot; quot;% 'quot; ' : quot;< / quot;quot; quot; quot; % quot;&0 quot;'quot; quot;
  217. 217. #$1 '' : quot;' @ ' local interface CCM_Server_Executor : ::Components::EnterpriseComponent // Main executor {}; local interface CCM_Server : ::CCM_Server_Executor // monolithic executor {};
  218. 218. #$2 quot;< quot;quot; @ ' / quot;quot; @ ' & <quot; ' quot; 'quot; ' > quot; %' ' 'quot; A ' quot;: % quot; ' ' Aquot; quot; quot;& 0 '
  219. 219. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  220. 220. ##4 quot;quot; @ ' ' A >quot;: 'quot; quot; quot; quot; quot;quot; @ '' quot; ' C D 0 C0 DA 'quot; quot; &quot; 5% E7 ' quot; quot;% ' @ /quot; 'quot; 0' 'quot; '' quot;' F @ '0 ' ': CCM_<type> get_<name> ();
  221. 221. ##$ '' : quot;' quot;quot; @ ' local interface CCM_Server_Executor : ::Components::EnterpriseComponent // Main executor {}; local interface CCM_Server : ::CCM_Server_Executor // monolithic executor { CCM_Display get_for_clients(); };
  222. 222. ### '' : quot;' quot;quot; @ ' 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 {};
  223. 223. ##8 quot; '' quot; ' quot;quot; @ ' # 4 7 1 4
  224. 224. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  225. 225. ##- ' 'quot; : < quot;quot; @ ' ' quot; quot; quot;quot; @ ' ' %A 0 quot; ' :< quot; @ quot; < ' 'quot; :' quot; : quot;quot; < Executor push_received_info(in HelloInfo event) local interface CCM_Server : CCM_Server_Executor { void push_received_Info(in HelloInfo event); }
  226. 226. ##. '' : quot;' @ ' 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); };
  227. 227. ##1 '' :! quot;' 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 {};
  228. 228. ##2 quot; '' quot; ' quot;quot; @ ' # 1 ), ),
  229. 229. $ @ ' @ ' '@ ' @ ' quot;@ ' quot;quot; @ ' ' ,' '' :
  230. 230. #84 @ ' ,' '' : # # 1 1 4 ,1 ),
  231. 231. #8$ @ ' ,' '' : # # 1 1 4 ,1 ),
  232. 232. #8# @ ' ,' '' : # # 4 4 ), ),
  233. 233. #88 @ ' ,' '' : # # 4 1 4 ), ,1 ),
  234. 234. #8+ @ ' ,' '' : quot;quot; @ ' # 4 1 ), 4 ),
  235. 235. $ ! ! @ ' @ quot;
  236. 236. @
  237. 237. #81 @ @ quot; quot;' ,&quot;' quot; ,' quot;
  238. 238. $ @ @ quot; quot;' ,&quot;' quot; ,' quot;
  239. 239. #83 ! quot; quot;' ' ,' quot; Component Context
  240. 240. #+4 ' ' @ )$ / # 1
  241. 241. #+$ ' quot;' &quot;' @ )$ # 1
  242. 242. $ @ @ quot; quot;' ,&quot;' quot; ,' quot;
  243. 243. #+8 & quot;' @ $% ) 2 ) # # 1 )$ &#
  244. 244. #++ 5 ' 'quot; 7 : quot;' 0quot; ' quot;' @ ' 6& < / quot; @ '' quot; Components::EnterpriseComponent 'quot; ' quot;% / quot;quot; @ '' quot; @quot;:quot; / quot;quot; @quot; ' 'quot; ' : '
  245. 245. #+- @ ' / @quot; ' quot; ' quot; quot; &0 quot;% ' ' C DA @quot; ' quot; A&quot; 'quot; 5 @ E7 quot; @ 5E @7quot;quot; @quot; ' quot;' quot; @ quot; quot; 'quot; ' @quot; ' ' ' : '
  246. 246. #+. @ '
  247. 247. #+1 quot;' @ @quot; ' quot;quot; ' / @quot; ' quot; 6 quot;' quot; quot;' quot; quot; ' :< % ' quot; quot;quot; ' ' quot;: % quot; : ' ' quot;quot; &0 quot;' quot; @(? E @) / quot; @quot; &0 E quot;E @ 'quot; quot;E
  248. 248. #+2 ' ' A >quot;: 'quot; quot; quot; quot; @ quot;' /quot; % ' quot; 'quot; '' quot; quot; @' quot;@ ' quot; @' C D 0 C0 DA 'quot; ' &quot; 5% E quot; E7 ' quot; quot;% ' @ / 'quot; 0' 'quot;A & '' * quot; ' F0 ' ': 'quot; quot;A quot; 'quot; ' ' quot;'' <type> get_connection_<name> ();
  249. 249. #+3 quot; @' ' quot; @' C D 0 C0 DA 'quot; ' &quot; 5% E quot; E7 ' quot; quot;% ' @ / 'quot; 0' 'quot; > 0 C D quot; ' ': (quot;0 quot; quot; & 0 quot;6 quot; >quot; : ! ) <name>Connections get_connections_<name> ();
  250. 250. #-4 quot; quot;' @ local interface CCM_Client_Context : ::Components::CCMContext { Display get_connection_to_server(); };
  251. 251. $ @ @ quot; quot;' ,&quot;' quot; ,' quot;
  252. 252. #-# ,&quot;' quot;'quot; @ ' &quot;' quot;' 'A >quot; : 'quot; quot; quot; quot; @quot; ' '& quot; '' quot; ' ' C D 0 C0 D 'quot; '& quot;5 E7 ' quot; quot; @ %' /quot; 'quot; ' ': quot;quot; % ' ' quot;% quot; : 7&8 9! 8 9 quot; : / 0 quot; 'quot; quot; ' ' : '' ( quot; ' ') ' & ' '( ' & quot;& quot; ' ') Client void push_info_to_send(in HelloInfo event); Info_to_send
  253. 253. #-8 quot;'quot; @ Context void push_info_to_send(in HelloInfo event); local interface CCM_Client_Context : ::Components::CCMContext { void push_info_to_send(in HelloInfo event); }
  254. 254. $ @ @ quot; quot;' ,&quot;' quot; ,' quot;
  255. 255. #-- ,' quot; Component Context
  256. 256. #-. ,' quot; # # # 1 /
  257. 257. #-1 0' &quot; Component Executor Context
  258. 258. #-2 @' &< quot; quot;' ' # # # 1 / 4 4 ), ),
  259. 259. $ ! ! @ ' @ quot;
  260. 260. quot;
  261. 261. #.$ quot; @ quot;quot; ! 0 : quot; quot; @ quot;'quot;' quot; '@ '
  262. 262. $ #.# quot; @ quot;quot; : quot; @ quot;'quot;' quot; '@ '
  263. 263. #.8 ! quot;' Component Component Executor Context
  264. 264. #.+ ' # +1 # 1
  265. 265. #.- ' ' '' : # +1
  266. 266. #.. ' 'quot; # +1 # 1
  267. 267. #.1 & quot;' @ $% ) 2 ) # # 1 33 )$ &#
  268. 268. $ #.2 quot; @ quot;quot; : quot; @ quot;'quot;' quot; '@ '
  269. 269. #.3 quot; +1 # 1 #
  270. 270. #14 quot; # +1 # 1 #
  271. 271. #1$ quot; # +1 # 1 #
  272. 272. #1# quot; # +1 # 1 #
  273. 273. #18 @ ' quot; # # 1 1 4 ,1 ),
  274. 274. #1+ @ ' quot; # # 1 1 4 ,1 ),
  275. 275. #1- quot; / quot; quot; & <quot; ' quot; &0 quot; ': quot; 'quot; 'quot; quot;quot;% @quot; %' : quot;quot; ' quot; quot; A ' 0 quot; 0quot; ' quot; quot; quot;' quot;' quot;quot; quot; ' quot;0 quot;quot; : quot;quot; :
  276. 276. #1. quot;
  277. 277. #11 quot; E quot;E @ / E quot;E @ 'quot; quot; quot; @ / quot;' quot; 'quot; ' quot; & ' E quot; : / E quot; : 'quot; quot; &0 quot;' quot;0 quot; quot; & quot;/ : quot; '' 0quot; quot;quot; quot; '> quot; quot;B ' '' quot; 'quot; quot;:quot; E quot; : / E quot; : 'quot; quot; &0 quot;' quot;0 quot; quot; & quot;quot;/ : quot; ' 0' ' quot; >quot; ' quot;quot; quot; : E' : / E' : 'quot; quot; &0 quot;' ' :quot; & & '0 quot;' quot;quot; & & '0
  278. 278. #12 quot; // 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); };
  279. 279. $ #13 quot; @ quot;quot; : quot; @ quot;'quot;' quot; '@ '
  280. 280. #24 quot; // 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); SessionContext // 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); };
  281. 281. #2$ @ quot;' ' quot;
  282. 282. #2# quot;' @ 'quot; '% / quot; 'quot; quot;' quot;'& quot; EC DE @quot; ' quot; @ / quot; quot; '' quot; @' ' quot;' quot; : EC DE @
  283. 283. #28 & quot;' @ $% ) 2 ) # # 1 )$ CCM_Client_Context:: _narrow(); &#
  284. 284. #2+ quot; # +1 # 1 #
  285. 285. $ #2- quot; @ quot;quot; : quot; @ quot;'quot;' quot; '@ '
  286. 286. #2. quot; quot;quot; @ ' /& quot;& quot;0 quot;' quot;quot; @ ' quot; quot;'quot; quot; quot;'
  287. 287. #21 ? ' '@ ' quot;quot; @ '
  288. 288. #22 '@ ' local interface User_CCM_Client : CCM_Client, Components::SessionComponent {};
  289. 289. #23 '@ ' 6& < # 7 1 1 4 ,1 ),
  290. 290. #34 '@ ' 6& < # 7 1 1 4 ,1 ),

×