27#ifndef SDBUS_CXX_CONVENIENCEAPICLASSES_H_
28#define SDBUS_CXX_CONVENIENCEAPICLASSES_H_
46 class PendingAsyncCall;
59 template <
typename _Function>
MethodRegistrator& implementedAs(_Function&& callback);
61 template <
typename... _String>
MethodRegistrator& withInputParamNames(_String... paramNames);
63 template <
typename... _String>
MethodRegistrator& withOutputParamNames(_String... paramNames);
70 std::string methodName_;
71 std::string interfaceName_;
72 std::string inputSignature_;
73 std::vector<std::string> inputParamNames_;
74 std::string outputSignature_;
75 std::vector<std::string> outputParamNames_;
76 method_callback methodCallback_;
90 template <
typename... _Args>
SignalRegistrator& withParameters(std::vector<std::string> paramNames);
91 template <
typename... _Args,
typename... _String>
SignalRegistrator& withParameters(_String... paramNames);
96 std::string signalName_;
97 std::string interfaceName_;
98 std::string signalSignature_;
99 std::vector<std::string> paramNames_;
120 const std::string& propertyName_;
121 std::string interfaceName_;
122 std::string propertySignature_;
123 property_get_callback getter_;
124 property_set_callback setter_;
143 const std::string& interfaceName_;
154 SignalEmitter& onInterface(
const std::string& interfaceName);
155 template <
typename... _Args>
void withArguments(_Args&&... args);
159 const std::string& signalName_;
171 MethodInvoker& onInterface(
const std::string& interfaceName);
173 template <
typename _Rep,
typename _Period>
174 MethodInvoker& withTimeout(
const std::chrono::duration<_Rep, _Period>& timeout);
175 template <
typename... _Args>
MethodInvoker& withArguments(_Args&&... args);
176 template <
typename... _Args>
void storeResultsTo(_Args&... args);
178 void dontExpectReply();
182 const std::string& methodName_;
186 bool methodCalled_{};
195 template <
typename _Rep,
typename _Period>
198 template <
typename _Function>
PendingAsyncCall uponReplyInvoke(_Function&& callback);
202 template <
typename... _Args> std::future<future_return_t<_Args...>> getResultAsFuture();
206 const std::string& methodName_;
216 template <
typename _Function>
void call(_Function&& callback);
220 const std::string& signalName_;
221 std::string interfaceName_;
228 void onInterface(
const std::string& interfaceName);
232 const std::string& signalName_;
239 Variant onInterface(
const std::string& interfaceName);
243 const std::string& propertyName_;
251 template <
typename _Function>
PendingAsyncCall uponReplyInvoke(_Function&& callback);
252 std::future<Variant> getResultAsFuture();
256 const std::string& propertyName_;
257 const std::string* interfaceName_{};
265 template <
typename _Value>
void toValue(
const _Value& value);
267 void toValue(
const Variant& value);
272 const std::string& propertyName_;
273 const std::string* interfaceName_{};
283 template <
typename _Function>
PendingAsyncCall uponReplyInvoke(_Function&& callback);
284 std::future<void> getResultAsFuture();
288 const std::string& propertyName_;
289 const std::string* interfaceName_{};
297 std::map<std::string, Variant> onInterface(
const std::string& interfaceName);
308 template <
typename _Function>
PendingAsyncCall uponReplyInvoke(_Function&& callback);
309 std::future<std::map<std::string, Variant>> getResultAsFuture();
313 const std::string* interfaceName_{};
Definition ConvenienceApiClasses.h:294
Definition ConvenienceApiClasses.h:304
Definition ConvenienceApiClasses.h:190
Definition ConvenienceApiClasses.h:247
Definition ConvenienceApiClasses.h:277
Definition ConvenienceApiClasses.h:130
Definition ConvenienceApiClasses.h:165
Definition ConvenienceApiClasses.h:52
Definition ConvenienceApiClasses.h:236
Definition ConvenienceApiClasses.h:105
Definition ConvenienceApiClasses.h:261
Definition ConvenienceApiClasses.h:149
Definition ConvenienceApiClasses.h:82
Definition ConvenienceApiClasses.h:212
Definition ConvenienceApiClasses.h:225
Definition TypeTraits.h:97