// $Id$ /** * @file TargetManagerExt.idl * * @brief The Extensions to the TM interface for ARMS demo * * @author Nilabja R * @author Nishanth Shankaran * * This file declares a interface which will be implemented as * a facet by the TargetManager component */ /** * @module CIAO * * @brief The CIAO module */ #include "DAnCE/Interfaces/NodeManagerDaemon.idl" module CIAO { /** * @struct Cpu_Info * @brief Consists of individual host-cpu info */ struct Host_Info { string hostname; double cpu_util; }; /// The sequence of CPU infos typedef sequence Host_Infos; /** * @struct Component_Cpu_Util * @brief Contains a component CPU Util */ struct Component_Info { string component_name; double cpu_util; }; /// The sequence of component cpu utilization typedef sequence Component_Infos; /** * @struct Host_NodeManager * @brief Contains the node manager to host reference */ struct Host_NodeManager { string host_; ::CIAO::NodeManagerDaemon node_mgr_; }; /// Sequence of NodeManager. typedef sequence Host_NodeManager_seq; /** * @interface TargetManagerExt * @brief The Target Manager Extension * * Contains the interface used by the RACE * controller. */ interface TargetManagerExt { long get_pid (in string component_uuid); Host_Infos get_host_cpu (); Component_Infos get_component_cpu (); Host_NodeManager_seq get_all_node_managers (); }; };