summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/DomainApplicationManager/Reply_Handler_i.h
blob: a3d7e5d9581ca568de481b788e4be0a0501c9977 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// -*- C++ -*-
//
// $Id$


#ifndef DEPLOYMENT_NODEAPPLICATIONMANAGER_REPLY_HANDLER_H
#define DEPLOYMENT_NODEAPPLICATIONMANAGER_REPLY_HANDLER_H

#include "DAnCE/Deployment/Deployment_NodeApplicationManagerS.h"
#include "DAnCE/Deployment/Deployment_NodeApplicationC.h"
#include "DomainApplicationManager_Export.h"
#include "DomainApplicationManager_AMH_Impl.h" // A base class
#include "ace/Thread_Mutex.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

class DomainApplicationManager_Export Deployment_AMI_NodeApplicationManagerHandler_i
  : public virtual POA_Deployment::AMI_NodeApplicationManagerHandler
{
public:
  /// Constructor 
  Deployment_AMI_NodeApplicationManagerHandler_i (CIAO::DomainApplicationManager_AMH_Impl *dam);

  /// Destructor 
  virtual ~Deployment_AMI_NodeApplicationManagerHandler_i (void);

  virtual
  void startLaunch (
      ::Deployment::Application_ptr ami_return_val,
      const ::Deployment::Connections & providedReference);

  ::Deployment::NodeApplication_ptr get_node_app (void);

  ::Deployment::Connections get_connections (void);

  /// Unused operations

  virtual
  void perform_redeployment (
      ::Deployment::Application_ptr ami_return_val,
      const ::Deployment::Connections & providedReference);
  
  virtual
  void perform_redeployment_excep (::Messaging::ExceptionHolder *);
  
  virtual
  void reset_plan (void);
  
  virtual
  void reset_plan_excep (::Messaging::ExceptionHolder *);
  
  virtual
  void set_shared_components (void);
  
  virtual
  void set_shared_components_excep (::Messaging::ExceptionHolder *);
  
  virtual
  void set_priority (::CORBA::Long);
  
  virtual
  void set_priority_excep (::Messaging::ExceptionHolder *);
   
  virtual
  void startLaunch_excep (::Messaging::ExceptionHolder *);
  
  virtual
  void destroyApplication (void);
  
  virtual
  void destroyApplication_excep (::Messaging::ExceptionHolder *);

private:
  ::Deployment::NodeApplication_var retn_node_app_;

  ::Deployment::Connections retn_connections_;

  ACE_SYNCH_MUTEX lock_;

  ::CIAO::DomainApplicationManager_AMH_Impl * dam_;
};


#endif /* DEPLOYMENT_NODEAPPLICATIONMANAGER_REPLY_HANDLER_H  */