summaryrefslogtreecommitdiff
path: root/trunk/CIAO/DAnCE/Deployment/Deployment_DomainApplicationManager.idl
blob: 9e0ab0eab522bb981e09038fcf9bdcb8df4edb26 (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
63
64
65
66
67
68
69
70
71
72
73
// $Id$
#ifndef DOMAINAPPLICATIONMANAGER_IDL
#define DOMAINAPPLICATIONMANAGER_IDL

#include "DAnCE/Deployment/Deployment.idl"
#include "DAnCE/Deployment/Deployment_NodeApplication.idl"
#include "DAnCE/Deployment/Deployment_ApplicationManager.idl"

module Deployment {
  // @@changed
  // interface DomainApplicationManager :
  //     ApplicationManager
  //   {
  //     Applications getApplications ();
  //     DeploymentPlan getPlan ();
  //   };
  
  /// CIAO 's DomainApplicationManager interface differs spec-defined interface
  /// in the same that it also integrates the spec-defined interface for
  /// DomainApplication into itself
  /// This should be derived from ApplicationManager
  interface DomainApplicationManager
  {
    DeploymentPlan getPlan ();

    /// This method is missing from CIAO but in the spec
    /// Applications getApplications ();

    /// 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);

    /// This method has CIAO specific arguments and is not spec compliant
    void finishLaunch (in boolean start,
                       in boolean is_ReDAC)
      raises (StartError, InvalidConnection);

    /// CIAO specific extension
    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 */