1 #include <net/poettering/Calculator/aserver.hpp> 2 #include <sdbusplus/async.hpp> 3 4 class Calculator : 5 public sdbusplus::aserver::net::poettering::Calculator<Calculator> 6 { 7 public: 8 explicit Calculator(sdbusplus::async::context& ctx) : 9 sdbusplus::aserver::net::poettering::Calculator<Calculator>( 10 ctx, "/net/poettering/calculator"), 11 manager(ctx, "/") 12 { 13 ctx.spawn(startup()); 14 } 15 16 private: 17 auto startup() -> sdbusplus::async::task<> 18 { 19 ctx.get_bus().request_name("net.poettering.Calculator"); 20 21 while (1) 22 { 23 using namespace std::literals; 24 co_await sdbusplus::async::sleep_for(ctx, 10s); 25 26 cleared(42); 27 } 28 co_return; 29 } 30 31 sdbusplus::server::manager_t manager; 32 }; 33 34 int main() 35 { 36 sdbusplus::async::context ctx; 37 [[maybe_unused]] Calculator c(ctx); 38 39 ctx.run(); 40 41 return 0; 42 } 43