summaryrefslogtreecommitdiff
path: root/CIAO/RACE/Controller/Component/Controller.idl
blob: 960f3ef3640e9a895cb8091d134e1cf6217aef00 (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
// $Id$

#ifndef RACE_CONTROLLER_IDL
#define RACE_CONTROLLER_IDL

/**
 * @file Controller.idl
 *
 * @brief Controller Component of RACE.
 *
 * This file declares a Controller of the RACE framework.
 *
 * @author Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
 */

#include <Components.idl>
#include "ciao/Target_Data.idl"
#include "../../../DAnCE/TargetManager/TargetManagerExt.idl"

/**
 * @module CIAO
 * @brief The CIAO module.
 */
module CIAO
{
  module RACE
  {

    /**
     * @interface Trigger
     * @brief This interface is used to start and stop
     * the feedback loop of the controller.
     */
    interface Trigger
    {
      oneway void start ();

      oneway void stop ();
    };

    /**
     * @component Controller
     * @brief The Controller component of RACE.
     */

    component Controller supports Trigger
    {
      uses TargetManagerExt target_mgr_ext;
      uses ::Deployment::TargetManager targer_mgr;

      /// @todo Need to integrate the receptacle for the BDC facet into
      /// the controller.
      //      uses BDC_QoS bdc;

      /// The sampling period of the controller.
      readonly attribute double sampling_period;
    };

    home Controller_Home manages Controller
    {
    };
  };
};
#endif /* RACE_CONTROLLER_IDL */