summaryrefslogtreecommitdiffstats
path: root/src/watch.hpp
blob: 1ba671d1e2c187f19cde7f2508e2941fdcde858e (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
#pragma once

namespace phosphor
{
namespace dbus
{
namespace monitoring
{

/** @class Watch
 *  @brief Watch interface.
 *
 *  The start method is invoked by main() on all watches of any type
 *  at application startup, to allow watches to perform custom setup
 *  or initialization.  Typical implementations might register dbus
 *  callbacks or perform queries.
 *
 *  Watches of any type can be started.
 */
class Watch
{
    public:
        Watch() = default;
        Watch(const Watch&) = default;
        Watch(Watch&&) = default;
        Watch& operator=(const Watch&) = default;
        Watch& operator=(Watch&&) = default;
        virtual ~Watch() = default;

        /** @brief Start the watch. */
        virtual void start() = 0;
};

} // namespace monitoring
} // namespace dbus
} // namespace phosphor
OpenPOWER on IntegriCloud