summaryrefslogtreecommitdiff
path: root/ACE/examples/APG/Naming/Temperature_Monitor2.h
blob: ab4f8b5601b4118f8008ff165e0599b1cd9a7afa (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
#ifndef TEMPERATURE_MONITOR_H
#define TEMPERATURE_MONITOR_H

#include "Thermometer.h"
#include "Temperature_Monitor_Options.h"
#include "Naming_Context.h"

class Temperature_Monitor2
{
public:
  Temperature_Monitor2 (Temperature_Monitor_Options & opt,
                        Naming_Context & naming_context,
                        Naming_Context & shared_context)
        : opt_(opt),
          naming_context_(naming_context),
          shared_context_(shared_context)
    { }

  void monitor (void);

protected:
  void record_temperature (float temp);
  void record_history (float temp);
  void record_failure (void);
  void reset_device (Name_Binding_Ptr & resetCount);

private:
  Thermometer *thermometer_;
  Temperature_Monitor_Options &opt_;
  Naming_Context &naming_context_;
  Naming_Context &shared_context_;
};

#endif /* TEMPERATURE_MONITOR_H */