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