summaryrefslogtreecommitdiff
path: root/DAnCE/TargetManager_Ext/DomainDataManager_Ext.h
blob: ecfb047ba036296dd5ddf2efaa1813a07340069e (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
88
89
90
91
92
93

// $Id$
//===============================================================
/**
 * @file DomainDataManager_Ext.h
 *
 * @brief An extension to the DomainDataManager
 *
 * This class extends the functionality of the DomainDataManager
 * 
 * @author Nilabja Roy nilabjar@dre.vanderbilt.edu
 */
//===============================================================
#ifndef DOMAIN_DATA_MGR_EXTH
#define DOMAIN_DATA_MGR_EXTH

#include "TargetManagerExt_ImplC.h"
#include "DAnCE/DomainApplicationManager/Deployment_Configuration.h"
#include "DAnCE/TargetManager/DomainDataManager.h"

/**
 * @namespace CIAO
 *
 * @brief The main CIAO namespace
 *
 */
namespace CIAO
{
  /**
   * @class DomainDataManager_Ext
   *
   * @brief The Extension to the DomainDataManager
   *
   */
  class DomainDataManager_Ext : public DomainDataManager
    {

      public :
 
        DomainDataManager_Ext (CORBA::ORB_ptr orb,
            ::Deployment::TargetManager_ptr target);
        
      /**
       * @brief     This function is called to create the Datamanager
       * @param orb The orb pointer
       * @param target The Target Manager Object Reference
       *
       * This function calls the constructor of the
       *              class DomainDataManager_Ext
       */
      static DomainDataManager * create (CORBA::ORB_ptr orb,
                                  ::Deployment::TargetManager_ptr target
                                  );
      
      /**
       * @brief returns the sequence of node managers
       * object reference
       */
      CIAO::Host_NodeManager_seq *
        get_node_managers ();

      /**
       * @brief returns the node specific cpu utilization
       *
       * @return CIAO::Host_Infos*
       */

       CIAO::Host_Infos* get_cpu_info ();

       /**
        * @brief returns the pid of the component id submitted
        * @param cmp The component id
        *
        * @return process id
        */
       CORBA::Long get_pid (const ACE_CString& cmp);

       /**
        * @brief commits the resources that are specified
        * in the plan.
        * @param plan ::Deployment::DeploymentPlan
        * @exception  ::Deployment::ResourceNotAvailable thrown
        *             when the resources mentioned in the plan exceeds
        *             the current resource.
        * @exception  ::Deployment::PlanError thrown if the plan has any
        *              error
        *
        */

    };
} // CIAO

#endif