diff options
Diffstat (limited to 'modules/CIAO/ccm/CCM_Receptacle.idl')
-rw-r--r-- | modules/CIAO/ccm/CCM_Receptacle.idl | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/modules/CIAO/ccm/CCM_Receptacle.idl b/modules/CIAO/ccm/CCM_Receptacle.idl new file mode 100644 index 00000000000..cc7f19c9c4b --- /dev/null +++ b/modules/CIAO/ccm/CCM_Receptacle.idl @@ -0,0 +1,65 @@ +/// $Id$ +/// Compliant with OMG 06-04-01 Section 6.5.3 + +#if !defined (CCM_RECEPTACLE_IDL) +#define CCM_RECEPTACLE_IDL + +#include "ccm/CCM_Base.idl" +#include "ccm/CCM_Navigation.idl" +#include "ccm/CCM_Cookie.idl" + +module Components +{ + typeprefix Components "omg.org"; + +#if !defined (CCM_LW) + valuetype ConnectionDescription + { + public Cookie ck; + public Object objref; + }; + typedef sequence<ConnectionDescription> ConnectionDescriptions; +#endif + +#if !defined (CCM_LW) + valuetype ReceptacleDescription : PortDescription + { + public boolean is_multiple; + public ConnectionDescriptions connections; + }; + typedef sequence<ReceptacleDescription> ReceptacleDescriptions; +#endif + + exception ExceededConnectionLimit {}; + exception CookieRequired {}; + + interface Receptacles + { + Cookie connect (in FeatureName name, in Object connection ) + raises (InvalidName, + InvalidConnection, + AlreadyConnected, + ExceededConnectionLimit); + + Object disconnect (in FeatureName name, in Cookie ck) + raises (InvalidName, + InvalidConnection, + CookieRequired, + NoConnection); + +#if !defined (CCM_LW) + ConnectionDescriptions get_connections (in FeatureName name) + raises (InvalidName); +#endif + +#if !defined (CCM_LW) + ReceptacleDescriptions get_all_receptacles (); +#endif + +#if !defined (CCM_LW) + ReceptacleDescriptions get_named_receptacles (in NameList names) + raises (InvalidName); +#endif + }; +}; +#endif /* CCM_RECEPTACLE_IDL */ |