| 117 | } |
| 118 | |
| 119 | std::string RunChecks(const std::string &protocol, |
| 120 | const std::string &request) const |
| 121 | { |
| 122 | using namespace std::string_literals; |
| 123 | |
| 124 | try |
| 125 | { |
| 126 | GVariantBuilder *args_builder = glib2::Builder::Create("(ss)"); |
| 127 | |
| 128 | glib2::Builder::Add(args_builder, protocol); |
| 129 | glib2::Builder::Add(args_builder, request); |
| 130 | |
| 131 | GVariant *r = proxy->Call(target, |
| 132 | "RunChecks", |
| 133 | glib2::Builder::Finish(args_builder)); |
| 134 | |
| 135 | return glib2::Value::Extract<std::string>(r, 0); |
| 136 | } |
| 137 | catch (const DBus::Proxy::Exception &e) |
| 138 | { |
| 139 | throw Exception("Error while running checks: "s + e.what()); |
| 140 | } |
| 141 | } |
| 142 | |
| 143 | private: |
| 144 | DBus::Proxy::Client::Ptr proxy; |