|
sdbus-c++ 2.3.0
High-level C++ D-Bus library based on systemd D-Bus implementation
|
#include <Message.h>
Public Types | |
| enum class | DumpFlags : uint64_t { Default = 0ULL , WithHeader = 1ULL << 0 , SubtreeOnly = 1ULL << 1 , SubtreeOnlyWithHeader = WithHeader | SubtreeOnly } |
Public Member Functions | |
| Message (const Message &) noexcept | |
| Message & | operator= (const Message &) noexcept |
| Message (Message &&other) noexcept | |
| Message & | operator= (Message &&other) noexcept |
| Message & | operator<< (bool item) |
| Message & | operator<< (int16_t item) |
| Message & | operator<< (int32_t item) |
| Message & | operator<< (int64_t item) |
| Message & | operator<< (uint8_t item) |
| Message & | operator<< (uint16_t item) |
| Message & | operator<< (uint32_t item) |
| Message & | operator<< (uint64_t item) |
| Message & | operator<< (double item) |
| Message & | operator<< (const char *item) |
| Message & | operator<< (const std::string &item) |
| Message & | operator<< (std::string_view item) |
| Message & | operator<< (const Variant &item) |
| template<typename ... Elements> | |
| Message & | operator<< (const std::variant< Elements... > &value) |
| Message & | operator<< (const ObjectPath &item) |
| Message & | operator<< (const Signature &item) |
| Message & | operator<< (const UnixFd &item) |
| template<typename Element, typename Allocator> | |
| Message & | operator<< (const std::vector< Element, Allocator > &items) |
| template<typename Element, std::size_t Size> | |
| Message & | operator<< (const std::array< Element, Size > &items) |
| template<typename Enum, typename = std::enable_if_t<std::is_enum_v<Enum>>> | |
| Message & | operator<< (const Enum &item) |
| template<typename Key, typename Value> | |
| Message & | operator<< (const DictEntry< Key, Value > &value) |
| template<typename Key, typename Value, typename Compare, typename Allocator> | |
| Message & | operator<< (const std::map< Key, Value, Compare, Allocator > &items) |
| template<typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator> | |
| Message & | operator<< (const std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &items) |
| template<typename... ValueTypes> | |
| Message & | operator<< (const Struct< ValueTypes... > &item) |
| template<typename... ValueTypes> | |
| Message & | operator<< (const std::tuple< ValueTypes... > &item) |
| Message & | operator>> (bool &item) |
| Message & | operator>> (int16_t &item) |
| Message & | operator>> (int32_t &item) |
| Message & | operator>> (int64_t &item) |
| Message & | operator>> (uint8_t &item) |
| Message & | operator>> (uint16_t &item) |
| Message & | operator>> (uint32_t &item) |
| Message & | operator>> (uint64_t &item) |
| Message & | operator>> (double &item) |
| Message & | operator>> (char *&item) |
| Message & | operator>> (std::string &item) |
| Message & | operator>> (Variant &item) |
| template<typename ... Elements> | |
| Message & | operator>> (std::variant< Elements... > &value) |
| Message & | operator>> (ObjectPath &item) |
| Message & | operator>> (Signature &item) |
| Message & | operator>> (UnixFd &item) |
| template<typename Element, typename Allocator> | |
| Message & | operator>> (std::vector< Element, Allocator > &items) |
| template<typename Element, std::size_t Size> | |
| Message & | operator>> (std::array< Element, Size > &items) |
| template<typename Enum, typename = std::enable_if_t<std::is_enum_v<Enum>>> | |
| Message & | operator>> (Enum &item) |
| template<typename Key, typename Value> | |
| Message & | operator>> (DictEntry< Key, Value > &value) |
| template<typename Key, typename Value, typename Compare, typename Allocator> | |
| Message & | operator>> (std::map< Key, Value, Compare, Allocator > &items) |
| template<typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator> | |
| Message & | operator>> (std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &items) |
| template<typename... ValueTypes> | |
| Message & | operator>> (Struct< ValueTypes... > &item) |
| template<typename... ValueTypes> | |
| Message & | operator>> (std::tuple< ValueTypes... > &item) |
| template<typename ElementType> | |
| Message & | openContainer () |
| Message & | openContainer (const char *signature) |
| Message & | closeContainer () |
| template<typename KeyType, typename ValueType> | |
| Message & | openDictEntry () |
| Message & | openDictEntry (const char *signature) |
| Message & | closeDictEntry () |
| template<typename ValueType> | |
| Message & | openVariant () |
| Message & | openVariant (const char *signature) |
| Message & | closeVariant () |
| template<typename... ValueTypes> | |
| Message & | openStruct () |
| Message & | openStruct (const char *signature) |
| Message & | closeStruct () |
| template<typename ElementType> | |
| Message & | enterContainer () |
| Message & | enterContainer (const char *signature) |
| Message & | exitContainer () |
| template<typename KeyType, typename ValueType> | |
| Message & | enterDictEntry () |
| Message & | enterDictEntry (const char *signature) |
| Message & | exitDictEntry () |
| template<typename ValueType> | |
| Message & | enterVariant () |
| Message & | enterVariant (const char *signature) |
| Message & | exitVariant () |
| template<typename... ValueTypes> | |
| Message & | enterStruct () |
| Message & | enterStruct (const char *signature) |
| Message & | exitStruct () |
| Message & | appendArray (char type, const void *ptr, size_t size) |
| Message & | readArray (char type, const void **ptr, size_t *size) |
| template<typename Key, typename Value, typename Callback> | |
| Message & | serializeDictionary (const Callback &callback) |
| template<typename Key, typename Value> | |
| Message & | serializeDictionary (const std::initializer_list< DictEntry< Key, Value > > &dictEntries) |
| template<typename Key, typename Value, typename Callback> | |
| Message & | deserializeDictionary (const Callback &callback) |
| operator bool () const | |
| void | clearFlags () |
| const char * | getInterfaceName () const |
| const char * | getMemberName () const |
| const char * | getSender () const |
| const char * | getPath () const |
| const char * | getDestination () const |
| uint64_t | getCookie () const |
| std::pair< char, const char * > | peekType () const |
| bool | isValid () const |
| bool | isEmpty () const |
| bool | isAtEnd (bool complete) const |
| void | copyTo (Message &destination, bool complete) const |
| void | seal () |
| void | rewind (bool complete) |
| std::string | dumpToString (DumpFlags flags) const |
| pid_t | getCredsPid () const |
| uid_t | getCredsUid () const |
| uid_t | getCredsEuid () const |
| gid_t | getCredsGid () const |
| gid_t | getCredsEgid () const |
| std::vector< gid_t > | getCredsSupplementaryGids () const |
| std::string | getSELinuxContext () const |
Protected Member Functions | |
| Message (internal::IConnection *connection) noexcept | |
| Message (void *msg, internal::IConnection *connection) noexcept | |
| Message (void *msg, internal::IConnection *connection, adopt_message_t) noexcept | |
Protected Attributes | |
| friend | Factory |
| void * | msg_ {} |
| internal::IConnection * | connection_ {} |
| bool | ok_ {true} |
Message represents a D-Bus message, which can be either method call message, method reply message, signal message, or a plain message.
Serialization and deserialization functions are provided for types supported by D-Bus.
You mostly don't need to work with this class directly if you use high-level APIs of IObject and IProxy.