summaryrefslogtreecommitdiff
path: root/modules/CIAO/ccm/ComponentServer/CCM_ComponentServer.idl
blob: dd06fb7c1cb60b55605bdc1b07509b55aba2fba6 (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
// $Id$

#if !defined (COMPONENTSERVER_IDL)
#define COMPONENTSERVER_IDL

#include "ccm/ComponentServer/CCM_ComponentServer_Base.idl"
#include "ccm/CCM_Homes.idl"

module Components
{
  typeprefix Components "omg.org";

  module Deployment
  {
    interface Container;
    typedef sequence<Container> Containers;
    interface ServerActivator;

    interface ComponentServer
    {
      readonly attribute ConfigValues configuration;

      ServerActivator get_server_activator();

      Container create_container(in ConfigValues config)
        raises (::Components::CreateFailure,
                ::Components::Deployment::InvalidConfiguration);

      void remove_container(in Container cref) raises (::Components::RemoveFailure);

      Containers get_containers();

      void remove() raises (::Components::RemoveFailure);
    };

    typedef sequence<ComponentServer> ComponentServers;

    interface Container
    {
      readonly attribute ConfigValues configuration;

      ComponentServer get_component_server();

      CCMHome install_home(in UUID id,
                           in string entrypt,
                           in ConfigValues config)
            raises (::Components::Deployment::UnknownImplId,
                ::Components::Deployment::ImplEntryPointNotFound,
                ::Components::Deployment::InstallationFailure,
                ::Components::Deployment::InvalidConfiguration);

      void remove_home(in CCMHome href) raises (::Components::RemoveFailure);

      CCMHomes get_homes();

      void remove() raises (::Components::RemoveFailure);
    };
  };

};

#endif /* COMPONENTSERVER_IDL */