summaryrefslogtreecommitdiff
path: root/TAO/CIAO/ciao/NodeApplicationManager.idl
blob: 63c64b23785772a2536586e0353941b087058992 (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
// $Id$
#ifndef NODEAPPLICATIONMANAGER_IDL
#define NODEAPPLICATIONMANAGER_IDL

#include "Deployment.idl"

module Deployment {
  interface ApplicationManager {
    Application startLaunch (in Properties configProperty,
                             out Connections providedReference,
                             in boolean start)
      raises (ResourceNotAvailable, StartError, InvalidProperty);
    void destroyApplication (in Application app)
      raises (StopError);
  };

  interface NodeApplicationManager :
    ApplicationManager
  {
    /// CIAO specific operation to handle dynamic system redeployment
    /// and reconfiguration
    /// This operation could handle dynamic redeployment for
    /// a node-level deployment plan within a node
    /// @para add_or_remove If true, we add new components only, vice vesa.
    Application perform_redeployment (in Properties configProperty,
                                      out Connections providedReference,
                                      in boolean add_or_remove,
                                      in boolean start)
      raises (PlanError,
              InstallationFailure,
              UnknownImplId,
              ImplEntryPointNotFound,
              InvalidConnection,
              InvalidProperty,
              ::Components::RemoveFailure);

    /// CIAO specific operation to reset deployment plan
    void reset_plan (in DeploymentPlan plan);

    /// CIAO speicfic operation to set the information of
    /// "shared components" (through NodeManager)
    void set_shared_components (in ComponentPlans components);
  };
};

#endif /* NODEAPPLICATIONMANAGER_IDL */