summaryrefslogtreecommitdiff
path: root/CIAO/ciao/DomainApplicationManager.idl
blob: fa21d64d39f3b319192fff4bc5560d6ca74d9a12 (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$
#ifndef DOMAINAPPLICATIONMANAGER_IDL
#define DOMAINAPPLICATIONMANAGER_IDL

#include "Deployment.idl"
#include "Deployment_Core.idl"

module Deployment {
  /// CIAO 's DomainApplicationManager interface differs spec-defined interface
  /// in the same that it also integrates the spec-defined interface for
  /// DomainApplication into itself
  interface DomainApplicationManager
  {
    DeploymentPlan getPlan ();

    /// CIAO specific version of startLaunch implementation, this one
    /// differs with spec-defined operation in the sense that it doesn't
    /// return DomainApplication object reference.
    void startLaunch (in Properties configProperty, in boolean start)
      raises (ResourceNotAvailable, StartError, InvalidProperty);

    void finishLaunch (in boolean start,
                       in boolean is_ReDAC)
      raises (StartError, InvalidConnection);

    void start ()
      raises (StartError);

    /// CIAO specific extention
    /// Fetch NodeApplication based on the given node name
    NodeApplication get_node_app (in string node_name)
      raises (NoSuchName);

    /// CIAO specific extension, it differs with the spec defined one
    /// for no input parameter.
    void destroyApplication ()
      raises (StopError);

    /// CIAO specific extension to destroy NodeApplicationManager
    void destroyManager ()
      raises (StopError);

    /// CIAO specific extension
    /// Perform the actual redeployment and reconfiguration on the dommain level.
    void perform_redeployment (in DeploymentPlan new_plan)
      raises (PlanError,
              InstallationFailure,
              UnknownImplId,
              ImplEntryPointNotFound,
              InvalidConnection,
              InvalidProperty,
              ::Components::RemoveFailure);
  };

  typedef sequence < DomainApplicationManager > DomainApplicationManagers;
};

#endif /* DOMAINAPPLICATIONMANAGER_IDL */