summaryrefslogtreecommitdiff
path: root/TAO/tao/Monitor/Monitor.pidl
blob: 798932fd136c1a1bf2b9c086e0f90d50c6cbf9d7 (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
// $Id$

#include "tao/Monitor/Monitor_Types.pidl"

module Monitor
{
  interface Subscriber
  {
    oneway void push (in DataList dil);
  };

  /**
   * @todo Make it possible to use then namelist as filter
   */
  interface MC
  {
    NameList get_statistic_names (in NameFilter filter);

    /**
     * Get the statistics for the given monitor points.
     * The return value only contains the values for the existing
     * monitoring points. If they don't exist they are just
     * not in the list.
     */
    DataList get_statistics (in NameList names);

    /**
     * Get and clear the statistics for the given monitor points.
     * The return value only contains the values for the existing
     * monitoring points. If they don't exist they are just
     * not in the list.
     */
    DataList get_and_clear_statistics (in NameList names);

    /**
     * Clear the statistics for the given monitor points.
     * The return value only contains the names of the cleared
     * monitoring points. If they don't exist they are just
     * not in the list.
     */
    NameList clear_statistics (in NameList names);

    /**
     * Register a constraint for the given monitoring points specified
     * by @a names. When the constraint evaluates to true the
     * @a sub is called
     * @return Returns a list with constraint id and monitor name
     */
    ConstraintStructList register_constraint (in NameList names, in Constraint cs, in Subscriber sub);

    /**
     * Unregister for certain constraints
     */
    void unregister_constraints (in ConstraintStructList constraint);
  };
};