blob: ffa9f8db9a94f44f4a395ce6db421819f3d5bd12 [file] [log] [blame]
Matthew Barthc5736432017-04-17 12:22:50 -05001/**
2 * Copyright © 2017 IBM Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Brad Bishopd9c1fab2017-06-04 22:32:12 -040016#include "sdbusplus.hpp"
Brad Bishop870c3fc2017-05-22 23:23:13 -040017#include "generated.hpp"
Matthew Barth1febc282017-04-12 11:33:39 -050018
Brad Bishopd9c1fab2017-06-04 22:32:12 -040019using namespace phosphor::dbus::monitoring;
20
21struct Loop
22{
23 /** @brief indefinitely process dbus traffic. */
24 static void run()
25 {
26 auto& bus = SDBusPlus::getBus();
27 auto& event = SDEvent::getEvent();
28 event.attach(bus);
29 event.loop();
30 }
31};
32
Matthew Barth1febc282017-04-12 11:33:39 -050033int main(void)
34{
Brad Bishopd9c1fab2017-06-04 22:32:12 -040035 for (auto& watch : ConfigPropertyWatches::get())
Brad Bishopf67884e2017-05-25 22:19:12 -040036 {
37 watch->start();
38 }
39
Brad Bishopd9c1fab2017-06-04 22:32:12 -040040 for (auto& watch : ConfigPropertyWatches::get())
Matthew Barth1febc282017-04-12 11:33:39 -050041 {
Brad Bishopd9c1fab2017-06-04 22:32:12 -040042 watch->callback();
Matthew Barth1febc282017-04-12 11:33:39 -050043 }
44
Brad Bishopd9c1fab2017-06-04 22:32:12 -040045 Loop::run();
46
Matthew Barth1febc282017-04-12 11:33:39 -050047 return -1;
48}