swift
dbusutils.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_DBUSUTILS_H
7 #define SWIFT_MISC_DBUSUTILS_H
8 
9 #include <QDBusArgument>
10 #include <QTextStream>
11 
12 #include "misc/swiftmiscexport.h"
13 
14 namespace swift::misc
15 {
18  {
19  public:
21  static QString getQDBusArgumentSignature(const QDBusArgument &arg, int level = 0);
22 
24  template <typename ValueObj>
25  static QString dBusSignature(const ValueObj &obj)
26  {
27  QDBusArgument arg;
28  obj.marshallToDbus(arg);
29  return arg.currentSignature();
30  }
31 
33  template <typename ValueObj>
34  static int dBusSignatureSize(const ValueObj &obj)
35  {
36  return dBusSignature<ValueObj>(obj).size();
37  }
38 
40  static QString dbusTypeAsString(QDBusArgument::ElementType type);
41 
43  static void showDBusSignatures(QTextStream &out);
44  };
45 } // namespace swift::misc
46 
47 #endif // SWIFT_MISC_DBUSUTILS_H
Utils for UNIT tests / samples.
Definition: dbusutils.h:18
static int dBusSignatureSize(const ValueObj &obj)
Signature size for swift::misc::CValueObject.
Definition: dbusutils.h:34
static void showDBusSignatures(QTextStream &out)
Show some (important) DBus signatures.
static QString dBusSignature(const ValueObj &obj)
Signature for swift::misc::CValueObject.
Definition: dbusutils.h:25
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.