summaryrefslogtreecommitdiff
path: root/CIAO/ccm/CCM_Object.idl
blob: 907b7bb2c1f8ada1741186f8de4cf4b764d5c0cf (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
// $Id$
// Compliant with OMG 06-04-01 Section 6.11.1

#if !defined (CCM_OBJECT_IDL)
#define CCM_OBJECT_IDL

#include "ccm/CCM_Events.idl"
#include "ccm/CCM_Navigation.idl"
#include "ccm/CCM_Home.idl"
#include "ccm/CCM_PrimaryKeyBase.idl"

module Components
{
  typeprefix Components "omg.org";

  exception InvalidConfiguration
  {
  };

#if !defined (CCM_LW)
  valuetype ComponentPortDescription
  {
    public FacetDescriptions facets;
    public ReceptacleDescriptions receptacles;
#if !defined (CCM_NOEVENT)
    public ConsumerDescriptions consumers;
    public EmitterDescriptions emitters;
    public PublisherDescriptions publishers;
#endif
  };
#endif

#if !defined (CCM_LW)
  exception NoKeyAvailable {};
#endif

  interface CCMObject : Navigation, Receptacles, Events
  {
#if !defined (CCM_LW)
    CORBA::IRObject get_component_def ( );
#endif
    CCMHome get_ccm_home( );
#if !defined (CCM_LW)
    PrimaryKeyBase get_primary_key( )
      raises (NoKeyAvailable);
#endif
    void configuration_complete ()
      raises (InvalidConfiguration);
    void remove()
      raises (RemoveFailure);
#if !defined (CCM_LW)
    ComponentPortDescription get_all_ports ();
#endif
  };

typedef sequence<CCMObject> CCMObjectSeq;
};
#endif /* CCM_OBJECT_IDL */