#include "tqdbusmarshall.h"
#include "tqdbusdata.h"
#include "tqdbusdatalist.h"
#include "tqdbusdatamap.h"
#include "tqdbusobjectpath.h"
#include "tqdbusunixfd.h"
#include "tqdbusvariant.h"
#include <tqvariant.h>
#include <tqvaluelist.h>
#include <tqmap.h>
#include <tqstringlist.h>
#include <tqvaluevector.h>
#include <dbus/dbus.h>
Go to the source code of this file.
|
template<typename T > |
T | qIterGet (DBusMessageIter *it) |
|
static TQT_DBusData::Type | qSingleTypeForDBusSignature (char signature) |
|
static TQValueList< TQT_DBusData > | parseSignature (TQCString &signature) |
|
static TQT_DBusData | qFetchParameter (DBusMessageIter *it) |
|
void | qFetchByteKeyMapEntry (TQT_DBusDataMap< TQ_UINT8 > &map, DBusMessageIter *it) |
|
void | qFetchInt16KeyMapEntry (TQT_DBusDataMap< TQ_INT16 > &map, DBusMessageIter *it) |
|
void | qFetchUInt16KeyMapEntry (TQT_DBusDataMap< TQ_UINT16 > &map, DBusMessageIter *it) |
|
void | qFetchInt32KeyMapEntry (TQT_DBusDataMap< TQ_INT32 > &map, DBusMessageIter *it) |
|
void | qFetchUInt32KeyMapEntry (TQT_DBusDataMap< TQ_UINT32 > &map, DBusMessageIter *it) |
|
void | qFetchInt64KeyMapEntry (TQT_DBusDataMap< TQ_INT64 > &map, DBusMessageIter *it) |
|
void | qFetchUInt64KeyMapEntry (TQT_DBusDataMap< TQ_UINT64 > &map, DBusMessageIter *it) |
|
void | qFetchObjectPathKeyMapEntry (TQT_DBusDataMap< TQT_DBusObjectPath > &map, DBusMessageIter *it) |
|
void | qFetchStringKeyMapEntry (TQT_DBusDataMap< TQString > &map, DBusMessageIter *it) |
|
static TQT_DBusData | qFetchMap (DBusMessageIter *it, const TQT_DBusData &prototype) |
|
static void | tqAppendToMessage (DBusMessageIter *it, const TQString &str) |
|
static void | tqAppendToMessage (DBusMessageIter *it, const TQT_DBusObjectPath &path) |
|
static void | tqAppendToMessage (DBusMessageIter *it, const TQT_DBusUnixFd &unixFd) |
|
static const char * | qDBusTypeForTQT_DBusType (TQT_DBusData::Type type) |
|
static void | qDBusDataToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusByteKeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusInt16KeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusUInt16KeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusInt32KeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusUInt32KeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusInt64KeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusUInt64KeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusStringKeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusObjectPathKeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
static void | qDBusUnixFdKeyMapToIterator (DBusMessageIter *it, const TQT_DBusData &var) |
|
void | qListToIterator (DBusMessageIter *it, const TQValueList< TQT_DBusData > &list) |
|
◆ parseSignature()
Definition at line 75 of file tqdbusmarshall.cpp.
80 while (!signature.isEmpty())
85 signature = signature.mid(1);
88 Q_ASSERT(!signature.isEmpty() && signature[0] ==
')');
89 signature = signature.mid(1);
92 case ')':
return result;
143 tqWarning(
"TQT_DBusMarshall: unsupported map key type %s "
148 signature = signature.mid(3);
152 signature = signature.mid(2);
155 Q_ASSERT(valueContainer.count() == 1);
200 tqWarning(
"TQT_DBusMarshall: unsupported map key type %s "
206 Q_ASSERT(!signature.isEmpty() && signature[0] ==
'}');
207 signature = signature.mid(1);
210 case '}':
return result;
218 signature = signature.mid(2);
222 signature = signature.mid(1);
223 bool array = signature[0] !=
'{';
227 Q_ASSERT(elementContainer.count() == 1);
235 result << elementContainer[0];
292 tqWarning(
"TQT_DBusMarshall: unsupported element type %s "
297 signature = signature.mid(1);
301 signature = signature.mid(1);
References TQT_DBusData::Bool, TQT_DBusData::Byte, TQT_DBusData::fromBool(), TQT_DBusData::fromByte(), TQT_DBusData::fromByteKeyMap(), TQT_DBusData::fromInt16(), TQT_DBusData::fromInt16KeyMap(), TQT_DBusData::fromInt32(), TQT_DBusData::fromInt32KeyMap(), TQT_DBusData::fromInt64(), TQT_DBusData::fromInt64KeyMap(), TQT_DBusData::fromList(), TQT_DBusData::fromObjectPath(), TQT_DBusData::fromObjectPathKeyMap(), TQT_DBusData::fromString(), TQT_DBusData::fromStringKeyMap(), TQT_DBusData::fromStruct(), TQT_DBusData::fromUInt16(), TQT_DBusData::fromUInt16KeyMap(), TQT_DBusData::fromUInt32(), TQT_DBusData::fromUInt32KeyMap(), TQT_DBusData::fromUInt64(), TQT_DBusData::fromUInt64KeyMap(), TQT_DBusData::fromUnixFd(), TQT_DBusData::fromUnixFdKeyMap(), TQT_DBusData::Int16, TQT_DBusData::Int32, TQT_DBusData::Int64, TQT_DBusData::Invalid, TQT_DBusData::ObjectPath, qSingleTypeForDBusSignature(), TQT_DBusData::String, TQT_DBusData::typeName(), TQT_DBusData::UInt16, TQT_DBusData::UInt32, TQT_DBusData::UInt64, and TQT_DBusData::UnixFd.
◆ qDBusByteKeyMapToIterator()
static void qDBusByteKeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 725 of file tqdbusmarshall.cpp.
732 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
739 sig += DBUS_DICT_ENTRY_END_CHAR;
741 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
744 for (; mit != map.
end(); ++mit)
746 DBusMessageIter itemIterator;
747 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
750 dbus_message_iter_append_basic(it, DBUS_TYPE_BYTE, &(mit.key()));
753 dbus_message_iter_close_container(&sub, &itemIterator);
756 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toByteKeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusDataToIterator()
static void qDBusDataToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 1066 of file tqdbusmarshall.cpp.
1072 dbus_bool_t value = var.
toBool();
1073 dbus_message_iter_append_basic(it, DBUS_TYPE_BOOLEAN, &value);
1078 TQ_UINT8 value = var.
toByte();
1079 dbus_message_iter_append_basic(it, DBUS_TYPE_BYTE, &value);
1083 TQ_INT16 value = var.
toInt16();
1084 dbus_message_iter_append_basic(it, DBUS_TYPE_INT16, &value);
1089 dbus_message_iter_append_basic(it, DBUS_TYPE_UINT16, &value);
1093 TQ_INT32 value = var.
toInt32();
1094 dbus_message_iter_append_basic(it, DBUS_TYPE_INT32, &value);
1099 dbus_message_iter_append_basic(it, DBUS_TYPE_UINT32, &value);
1103 TQ_INT64 value = var.
toInt64();
1104 dbus_message_iter_append_basic(it, DBUS_TYPE_INT64, &value);
1109 dbus_message_iter_append_basic(it, DBUS_TYPE_UINT64, &value);
1114 dbus_message_iter_append_basic(it, DBUS_TYPE_DOUBLE, &value);
1130 TQCString signature = 0;
1136 DBusMessageIter sub;
1137 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY,
1138 signature.data(), &sub);
1143 for (; listIt != listEndIt; ++listIt)
1147 dbus_message_iter_close_container(it, &sub);
1183 tqWarning(
"TQT_DBusMarshall: unhandled map key type %s "
1194 DBusMessageIter sub;
1195 dbus_message_iter_open_container(it, DBUS_TYPE_VARIANT,
1200 dbus_message_iter_close_container(it, &sub);
1205 if (memberList.isEmpty())
break;
1207 DBusMessageIter sub;
1208 dbus_message_iter_open_container(it, DBUS_TYPE_STRUCT, NULL, &sub);
1212 for (; memberIt != memberEndIt; ++memberIt)
1217 dbus_message_iter_close_container(it, &sub);
1220 case TQVariant::ByteArray: {
1221 const TQByteArray array = var.toByteArray();
1222 const char* cdata = array.data();
1223 DBusMessageIter sub;
1224 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE_AS_STRING, &sub);
1225 dbus_message_iter_append_fixed_array(&sub, DBUS_TYPE_BYTE, &cdata, array.size());
1226 dbus_message_iter_close_container(it, &sub);
References TQT_DBusData::Bool, TQT_DBusData::buildDBusSignature(), TQT_DBusData::Byte, TQT_DBusDataList::containerItemType(), TQT_DBusData::Double, TQT_DBusDataList::hasContainerItemType(), TQT_DBusData::Int16, TQT_DBusData::Int32, TQT_DBusData::Int64, TQT_DBusData::isValid(), TQT_DBusData::keyType(), TQT_DBusData::List, TQT_DBusData::Map, TQT_DBusData::ObjectPath, qDBusByteKeyMapToIterator(), qDBusInt16KeyMapToIterator(), qDBusInt32KeyMapToIterator(), qDBusInt64KeyMapToIterator(), qDBusObjectPathKeyMapToIterator(), qDBusStringKeyMapToIterator(), qDBusTypeForTQT_DBusType(), qDBusUInt16KeyMapToIterator(), qDBusUInt32KeyMapToIterator(), qDBusUInt64KeyMapToIterator(), qDBusUnixFdKeyMapToIterator(), TQT_DBusVariant::signature, TQT_DBusData::String, TQT_DBusData::Struct, TQT_DBusData::toBool(), TQT_DBusData::toByte(), TQT_DBusData::toDouble(), TQT_DBusData::toInt16(), TQT_DBusData::toInt32(), TQT_DBusData::toInt64(), TQT_DBusData::toList(), TQT_DBusData::toObjectPath(), TQT_DBusData::toString(), TQT_DBusData::toStruct(), TQT_DBusData::toTQValueList(), TQT_DBusData::toUInt16(), TQT_DBusData::toUInt32(), TQT_DBusData::toUInt64(), TQT_DBusData::toUnixFd(), TQT_DBusData::toVariant(), tqAppendToMessage(), TQT_DBusData::type(), TQT_DBusDataList::type(), TQT_DBusData::typeName(), TQT_DBusData::UInt16, TQT_DBusData::UInt32, TQT_DBusData::UInt64, TQT_DBusData::UnixFd, TQT_DBusVariant::value, and TQT_DBusData::Variant.
◆ qDBusInt16KeyMapToIterator()
static void qDBusInt16KeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 759 of file tqdbusmarshall.cpp.
766 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
773 sig += DBUS_DICT_ENTRY_END_CHAR;
775 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
778 for (; mit != map.
end(); ++mit)
780 DBusMessageIter itemIterator;
781 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
784 dbus_message_iter_append_basic(it, DBUS_TYPE_INT16, &(mit.key()));
787 dbus_message_iter_close_container(&sub, &itemIterator);
790 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toInt16KeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusInt32KeyMapToIterator()
static void qDBusInt32KeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 827 of file tqdbusmarshall.cpp.
834 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
841 sig += DBUS_DICT_ENTRY_END_CHAR;
843 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
846 for (; mit != map.
end(); ++mit)
848 DBusMessageIter itemIterator;
849 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
852 dbus_message_iter_append_basic(it, DBUS_TYPE_INT32, &(mit.key()));
855 dbus_message_iter_close_container(&sub, &itemIterator);
858 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toInt32KeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusInt64KeyMapToIterator()
static void qDBusInt64KeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 895 of file tqdbusmarshall.cpp.
902 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
909 sig += DBUS_DICT_ENTRY_END_CHAR;
911 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
914 for (; mit != map.
end(); ++mit)
916 DBusMessageIter itemIterator;
917 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
920 dbus_message_iter_append_basic(it, DBUS_TYPE_INT64, &(mit.key()));
923 dbus_message_iter_close_container(&sub, &itemIterator);
926 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toInt64KeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusObjectPathKeyMapToIterator()
static void qDBusObjectPathKeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 997 of file tqdbusmarshall.cpp.
1000 DBusMessageIter sub;
1005 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
1012 sig += DBUS_DICT_ENTRY_END_CHAR;
1014 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
1017 for (; mit != map.
end(); ++mit)
1019 DBusMessageIter itemIterator;
1020 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
1026 dbus_message_iter_close_container(&sub, &itemIterator);
1029 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toObjectPathKeyMap(), tqAppendToMessage(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusStringKeyMapToIterator()
static void qDBusStringKeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 963 of file tqdbusmarshall.cpp.
970 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
977 sig += DBUS_DICT_ENTRY_END_CHAR;
979 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
982 for (; mit != map.
end(); ++mit)
984 DBusMessageIter itemIterator;
985 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
991 dbus_message_iter_close_container(&sub, &itemIterator);
994 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toStringKeyMap(), tqAppendToMessage(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusTypeForTQT_DBusType()
Definition at line 665 of file tqdbusmarshall.cpp.
673 return DBUS_TYPE_BOOLEAN_AS_STRING;
676 return DBUS_TYPE_BYTE_AS_STRING;
679 return DBUS_TYPE_INT16_AS_STRING;
682 return DBUS_TYPE_UINT16_AS_STRING;
685 return DBUS_TYPE_INT32_AS_STRING;
688 return DBUS_TYPE_UINT32_AS_STRING;
691 return DBUS_TYPE_INT64_AS_STRING;
694 return DBUS_TYPE_UINT64_AS_STRING;
697 return DBUS_TYPE_DOUBLE_AS_STRING;
700 return DBUS_TYPE_STRING_AS_STRING;
703 return DBUS_TYPE_OBJECT_PATH_AS_STRING;
706 return DBUS_TYPE_ARRAY_AS_STRING;
709 return DBUS_TYPE_STRUCT_AS_STRING;
712 return DBUS_TYPE_VARIANT_AS_STRING;
715 return DBUS_TYPE_DICT_ENTRY_AS_STRING;
References TQT_DBusData::Bool, TQT_DBusData::Byte, DBUS_TYPE_UNIX_FD_AS_STRING, TQT_DBusData::Double, TQT_DBusData::Int16, TQT_DBusData::Int32, TQT_DBusData::Int64, TQT_DBusData::Invalid, TQT_DBusData::List, TQT_DBusData::Map, TQT_DBusData::ObjectPath, TQT_DBusData::String, TQT_DBusData::Struct, TQT_DBusData::UInt16, TQT_DBusData::UInt32, TQT_DBusData::UInt64, TQT_DBusData::UnixFd, and TQT_DBusData::Variant.
◆ qDBusUInt16KeyMapToIterator()
static void qDBusUInt16KeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 793 of file tqdbusmarshall.cpp.
800 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
807 sig += DBUS_DICT_ENTRY_END_CHAR;
809 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
812 for (; mit != map.
end(); ++mit)
814 DBusMessageIter itemIterator;
815 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
818 dbus_message_iter_append_basic(it, DBUS_TYPE_UINT16, &(mit.key()));
821 dbus_message_iter_close_container(&sub, &itemIterator);
824 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toUInt16KeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusUInt32KeyMapToIterator()
static void qDBusUInt32KeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 861 of file tqdbusmarshall.cpp.
868 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
875 sig += DBUS_DICT_ENTRY_END_CHAR;
877 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
880 for (; mit != map.
end(); ++mit)
882 DBusMessageIter itemIterator;
883 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
886 dbus_message_iter_append_basic(it, DBUS_TYPE_UINT32, &(mit.key()));
889 dbus_message_iter_close_container(&sub, &itemIterator);
892 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toUInt32KeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusUInt64KeyMapToIterator()
static void qDBusUInt64KeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 929 of file tqdbusmarshall.cpp.
936 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
943 sig += DBUS_DICT_ENTRY_END_CHAR;
945 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
948 for (; mit != map.
end(); ++mit)
950 DBusMessageIter itemIterator;
951 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
954 dbus_message_iter_append_basic(it, DBUS_TYPE_UINT64, &(mit.key()));
957 dbus_message_iter_close_container(&sub, &itemIterator);
960 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toUInt64KeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qDBusUnixFdKeyMapToIterator()
static void qDBusUnixFdKeyMapToIterator |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusData & |
var |
|
) |
| |
|
static |
Definition at line 1032 of file tqdbusmarshall.cpp.
1034 DBusMessageIter sub;
1039 sig += DBUS_DICT_ENTRY_BEGIN_CHAR;
1046 sig += DBUS_DICT_ENTRY_END_CHAR;
1048 dbus_message_iter_open_container(it, DBUS_TYPE_ARRAY, sig.data(), &sub);
1051 for (; mit != map.
end(); ++mit)
1053 DBusMessageIter itemIterator;
1054 dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY,
1060 dbus_message_iter_close_container(&sub, &itemIterator);
1063 dbus_message_iter_close_container(it, &sub);
References TQT_DBusDataMap< T >::begin(), TQT_DBusData::buildDBusSignature(), TQT_DBusDataMap< T >::containerValueType(), DBUS_TYPE_UNIX_FD, TQT_DBusDataMap< T >::end(), TQT_DBusDataMap< T >::hasContainerValueType(), TQT_DBusDataMap< T >::keyType(), qDBusDataToIterator(), qDBusTypeForTQT_DBusType(), TQT_DBusData::toUnixFdKeyMap(), and TQT_DBusDataMap< T >::valueType().
◆ qFetchByteKeyMapEntry()
void qFetchByteKeyMapEntry |
( |
TQT_DBusDataMap< TQ_UINT8 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchInt16KeyMapEntry()
void qFetchInt16KeyMapEntry |
( |
TQT_DBusDataMap< TQ_INT16 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchInt32KeyMapEntry()
void qFetchInt32KeyMapEntry |
( |
TQT_DBusDataMap< TQ_INT32 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchInt64KeyMapEntry()
void qFetchInt64KeyMapEntry |
( |
TQT_DBusDataMap< TQ_INT64 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchMap()
Definition at line 429 of file tqdbusmarshall.cpp.
431 if (dbus_message_iter_get_arg_type(it) == DBUS_TYPE_INVALID)
434 DBusMessageIter itemIter;
435 dbus_message_iter_recurse(it, &itemIter);
436 if (dbus_message_iter_get_arg_type(&itemIter) == DBUS_TYPE_INVALID)
439 switch (dbus_message_iter_get_arg_type(&itemIter)) {
440 case DBUS_TYPE_BYTE: {
444 }
while (dbus_message_iter_next(it));
449 case DBUS_TYPE_INT16: {
453 }
while (dbus_message_iter_next(it));
458 case DBUS_TYPE_UINT16: {
462 }
while (dbus_message_iter_next(it));
467 case DBUS_TYPE_INT32: {
471 }
while (dbus_message_iter_next(it));
476 case DBUS_TYPE_UINT32: {
480 }
while (dbus_message_iter_next(it));
485 case DBUS_TYPE_INT64: {
489 }
while (dbus_message_iter_next(it));
494 case DBUS_TYPE_UINT64: {
498 }
while (dbus_message_iter_next(it));
503 case DBUS_TYPE_OBJECT_PATH: {
507 }
while (dbus_message_iter_next(it));
511 case DBUS_TYPE_STRING:
512 case DBUS_TYPE_SIGNATURE: {
516 }
while (dbus_message_iter_next(it));
References TQT_DBusData::fromByteKeyMap(), TQT_DBusData::fromInt16KeyMap(), TQT_DBusData::fromInt32KeyMap(), TQT_DBusData::fromInt64KeyMap(), TQT_DBusData::fromObjectPathKeyMap(), TQT_DBusData::fromStringKeyMap(), TQT_DBusData::fromUInt16KeyMap(), TQT_DBusData::fromUInt32KeyMap(), TQT_DBusData::fromUInt64KeyMap(), qFetchByteKeyMapEntry(), qFetchInt16KeyMapEntry(), qFetchInt32KeyMapEntry(), qFetchInt64KeyMapEntry(), qFetchObjectPathKeyMapEntry(), qFetchStringKeyMapEntry(), qFetchUInt16KeyMapEntry(), qFetchUInt32KeyMapEntry(), qFetchUInt64KeyMapEntry(), TQT_DBusData::toByteKeyMap(), TQT_DBusData::toInt16KeyMap(), TQT_DBusData::toInt32KeyMap(), TQT_DBusData::toInt64KeyMap(), TQT_DBusData::toObjectPathKeyMap(), TQT_DBusData::toStringKeyMap(), TQT_DBusData::toUInt16KeyMap(), TQT_DBusData::toUInt32KeyMap(), and TQT_DBusData::toUInt64KeyMap().
◆ qFetchObjectPathKeyMapEntry()
◆ qFetchParameter()
Definition at line 528 of file tqdbusmarshall.cpp.
530 switch (dbus_message_iter_get_arg_type(it)) {
531 case DBUS_TYPE_BOOLEAN:
535 case DBUS_TYPE_INT16:
537 case DBUS_TYPE_UINT16:
539 case DBUS_TYPE_INT32:
541 case DBUS_TYPE_UINT32:
543 case DBUS_TYPE_INT64:
545 case DBUS_TYPE_UINT64:
547 case DBUS_TYPE_DOUBLE:
549 case DBUS_TYPE_STRING:
550 case DBUS_TYPE_SIGNATURE:
552 case DBUS_TYPE_OBJECT_PATH:
554 case DBUS_TYPE_ARRAY: {
555 int arrayType = dbus_message_iter_get_element_type(it);
557 char* sig = dbus_message_iter_get_signature(it);
558 TQCString signature = sig;
563 if (arrayType == DBUS_TYPE_DICT_ENTRY) {
565 dbus_message_iter_recurse(it, &sub);
567 return qFetchMap(&sub, prototypeList[0]);
571 DBusMessageIter arrayIt;
572 dbus_message_iter_recurse(it, &arrayIt);
574 while (dbus_message_iter_get_arg_type(&arrayIt) != DBUS_TYPE_INVALID) {
577 dbus_message_iter_next(&arrayIt);
583 case DBUS_TYPE_VARIANT: {
586 dbus_message_iter_recurse(it, &sub);
588 char* signature = dbus_message_iter_get_signature(&sub);
589 dvariant.
signature = TQString::fromUtf8(signature);
590 dbus_free(signature);
596 case DBUS_TYPE_STRUCT: {
599 DBusMessageIter subIt;
600 dbus_message_iter_recurse(it, &subIt);
603 while (dbus_message_iter_get_arg_type(&subIt) != DBUS_TYPE_INVALID) {
606 dbus_message_iter_next(&subIt);
618 case DBUS_TYPE_INVALID:
624 tqWarning(
"TQT_DBusMarshall: Don't know how to de-marshall type %d '%c'",
625 dbus_message_iter_get_arg_type(it),
626 dbus_message_iter_get_arg_type(it));
References DBUS_TYPE_UNIX_FD, TQT_DBusData::fromBool(), TQT_DBusData::fromByte(), TQT_DBusData::fromDouble(), TQT_DBusData::fromInt16(), TQT_DBusData::fromInt32(), TQT_DBusData::fromInt64(), TQT_DBusData::fromList(), TQT_DBusData::fromObjectPath(), TQT_DBusData::fromString(), TQT_DBusData::fromStruct(), TQT_DBusData::fromUInt16(), TQT_DBusData::fromUInt32(), TQT_DBusData::fromUInt64(), TQT_DBusData::fromUnixFd(), TQT_DBusData::fromVariant(), TQT_DBusUnixFd::giveFileDescriptor(), parseSignature(), qFetchMap(), TQT_DBusVariant::signature, and TQT_DBusVariant::value.
◆ qFetchStringKeyMapEntry()
void qFetchStringKeyMapEntry |
( |
TQT_DBusDataMap< TQString > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchUInt16KeyMapEntry()
void qFetchUInt16KeyMapEntry |
( |
TQT_DBusDataMap< TQ_UINT16 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchUInt32KeyMapEntry()
void qFetchUInt32KeyMapEntry |
( |
TQT_DBusDataMap< TQ_UINT32 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qFetchUInt64KeyMapEntry()
void qFetchUInt64KeyMapEntry |
( |
TQT_DBusDataMap< TQ_UINT64 > & |
map, |
|
|
DBusMessageIter * |
it |
|
) |
| |
◆ qIterGet()
template<typename T >
T qIterGet |
( |
DBusMessageIter * |
it | ) |
|
|
inline |
◆ qListToIterator()
◆ qSingleTypeForDBusSignature()
Definition at line 49 of file tqdbusmarshall.cpp.
References TQT_DBusData::Bool, TQT_DBusData::Byte, TQT_DBusData::Double, TQT_DBusData::Int16, TQT_DBusData::Int32, TQT_DBusData::Int64, TQT_DBusData::Invalid, TQT_DBusData::ObjectPath, TQT_DBusData::String, TQT_DBusData::UInt16, TQT_DBusData::UInt32, TQT_DBusData::UInt64, TQT_DBusData::UnixFd, and TQT_DBusData::Variant.
◆ tqAppendToMessage() [1/3]
static void tqAppendToMessage |
( |
DBusMessageIter * |
it, |
|
|
const TQString & |
str |
|
) |
| |
|
static |
Definition at line 646 of file tqdbusmarshall.cpp.
648 TQByteArray ba = str.utf8();
649 const char *cdata = ba.data();
650 dbus_message_iter_append_basic(it, DBUS_TYPE_STRING, &cdata);
◆ tqAppendToMessage() [2/3]
Definition at line 653 of file tqdbusmarshall.cpp.
655 const char *cdata = path.ascii();
656 dbus_message_iter_append_basic(it, DBUS_TYPE_OBJECT_PATH, &cdata);
◆ tqAppendToMessage() [3/3]
static void tqAppendToMessage |
( |
DBusMessageIter * |
it, |
|
|
const TQT_DBusUnixFd & |
unixFd |
|
) |
| |
|
static |
TQString signature
The D-Bus data signature of the data contained in value.
static TQT_DBusData fromUnixFd(const TQT_DBusUnixFd &value)
Creates a data object for the given unix file handle value.
TQ_UINT8 toByte(bool *ok=0) const
Tries to get the encapsulated byte (unsigned char) value.
static TQT_DBusData fromInt64KeyMap(const TQT_DBusDataMap< TQ_INT64 > &map)
Creates a data object for the given map.
TQT_DBusUnixFd toUnixFd(bool *ok=0) const
Tries to get the encapsulated unix file handle value.
static TQT_DBusData fromObjectPath(const TQT_DBusObjectPath &value)
Creates a data object for the given object path value.
TQT_DBusDataMap< TQT_DBusUnixFd > toUnixFdKeyMap(bool *ok=0) const
Tries to get the encapsulated map.
Type keyType() const
Returns the Type of the key type for maps.
static TQT_DBusData fromUInt32(TQ_UINT32 value)
Creates a data object for the given unsigned 32-bit integer value.
TQValueList< TQT_DBusData > toTQValueList(bool *ok=0) const
Tries to get the encapsulated list.
TQT_DBusDataMap< TQ_INT16 > toInt16KeyMap(bool *ok=0) const
Tries to get the encapsulated map.
bool isValid() const
Checks whether the data object contains a valid content.
TQT_DBusData::Type type() const
Returns the element type of the list object.
TQT_DBusObjectPath toObjectPath(bool *ok=0) const
Tries to get the encapsulated object path value.
static TQT_DBusData qFetchMap(DBusMessageIter *it, const TQT_DBusData &prototype)
TQString toString(bool *ok=0) const
Tries to get the encapsulated string value.
void qFetchStringKeyMapEntry(TQT_DBusDataMap< TQString > &map, DBusMessageIter *it)
void qFetchInt32KeyMapEntry(TQT_DBusDataMap< TQ_INT32 > &map, DBusMessageIter *it)
static TQT_DBusData fromUInt16(TQ_UINT16 value)
Creates a data object for the given unsigned 16-bit integer value.
static const char * qDBusTypeForTQT_DBusType(TQT_DBusData::Type type)
TQValueList< TQT_DBusData > toStruct(bool *ok=0) const
Tries to get the encapsulated struct memberList.
TQT_DBusDataMap< TQ_UINT64 > toUInt64KeyMap(bool *ok=0) const
Tries to get the encapsulated map.
TQT_DBusVariant toVariant(bool *ok=0) const
Tries to get the encapsulated variant value.
TQMapConstIterator< T, TQT_DBusData > const_iterator
TQ_INT16 toInt16(bool *ok=0) const
Tries to get the encapsulated signed 16-bit integer value.
static TQT_DBusData fromInt32KeyMap(const TQT_DBusDataMap< TQ_INT32 > &map)
Creates a data object for the given map.
void qFetchObjectPathKeyMapEntry(TQT_DBusDataMap< TQT_DBusObjectPath > &map, DBusMessageIter *it)
TQT_DBusDataMap< TQT_DBusObjectPath > toObjectPathKeyMap(bool *ok=0) const
Tries to get the encapsulated map.
void qFetchInt16KeyMapEntry(TQT_DBusDataMap< TQ_INT16 > &map, DBusMessageIter *it)
static TQT_DBusData fromUInt16KeyMap(const TQT_DBusDataMap< TQ_UINT16 > &map)
Creates a data object for the given map.
static TQT_DBusData::Type qSingleTypeForDBusSignature(char signature)
Class for representing D-Bus object paths.
Class for accurately representing D-Bus data types.
static void qDBusStringKeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
static void tqAppendToMessage(DBusMessageIter *it, const TQString &str)
TQT_DBusDataMap< TQ_INT32 > toInt32KeyMap(bool *ok=0) const
Tries to get the encapsulated map.
void qFetchUInt64KeyMapEntry(TQT_DBusDataMap< TQ_UINT64 > &map, DBusMessageIter *it)
static TQT_DBusData fromByteKeyMap(const TQT_DBusDataMap< TQ_UINT8 > &map)
Creates a data object for the given map.
Type
Enum for the data types used in D-Bus messages.
TQT_DBusDataList toList(bool *ok=0) const
Tries to get the encapsulated list.
TQT_DBusDataMap< TQ_UINT8 > toByteKeyMap(bool *ok=0) const
Tries to get the encapsulated map.
TQ_INT64 toInt64(bool *ok=0) const
Tries to get the encapsulated signed 64-bit integer value.
void qFetchUInt32KeyMapEntry(TQT_DBusDataMap< TQ_UINT32 > &map, DBusMessageIter *it)
static TQT_DBusData qFetchParameter(DBusMessageIter *it)
const_iterator end() const
Returns an iterator to an invalid position.
Class for representing D-Bus unix file handles.
static TQT_DBusData fromUInt64KeyMap(const TQT_DBusDataMap< TQ_UINT64 > &map)
Creates a data object for the given map.
static void qDBusUnixFdKeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
static TQT_DBusData fromDouble(double value)
Creates a data object for the given double value.
static TQT_DBusData fromByte(TQ_UINT8 value)
Creates a data object for the given byte (unsigned char) value.
static TQT_DBusData fromUInt64(TQ_UINT64 value)
Creates a data object for the given unsigned 64-bit integer value.
static TQT_DBusData fromInt32(TQ_INT32 value)
Creates a data object for the given signed 32-bit integer value.
static void qDBusInt64KeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
TQ_UINT64 toUInt64(bool *ok=0) const
Tries to get the encapsulated unsigned 64-bit integer value.
TQT_DBusDataMap< TQ_UINT32 > toUInt32KeyMap(bool *ok=0) const
Tries to get the encapsulated map.
Class to transport lists of D-Bus data types.
bool hasContainerItemType() const
Checks whether the element type is a data container itself.
static void qDBusInt32KeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
TQT_DBusData::Type keyType() const
Returns the key type of the map object.
static TQT_DBusData fromObjectPathKeyMap(const TQT_DBusDataMap< TQT_DBusObjectPath > &map)
Creates a data object for the given map.
Type type() const
Returns the Type of the data object.
static TQT_DBusData fromInt16(TQ_INT16 value)
Creates a data object for the given signed 16-bit integer value.
TQT_DBusDataMap< TQString > toStringKeyMap(bool *ok=0) const
Tries to get the encapsulated map.
TQT_DBusData value
The D-Bus data type to transport as a variant.
void giveFileDescriptor(int fileDescriptor)
Give unix file handle.
double toDouble(bool *ok=0) const
Tries to get the encapsulated double value.
static TQT_DBusData fromInt64(TQ_INT64 value)
Creates a data object for the given signed 64-bit integer value.
TQ_INT32 toInt32(bool *ok=0) const
Tries to get the encapsulated signed 32-bit integer value.
static TQT_DBusData fromBool(bool value)
Creates a data object for the given boolean value.
static void qDBusUInt16KeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
void qFetchByteKeyMapEntry(TQT_DBusDataMap< TQ_UINT8 > &map, DBusMessageIter *it)
TQ_UINT32 toUInt32(bool *ok=0) const
Tries to get the encapsulated unsigned 32-bit integer value.
static void qDBusUInt32KeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
static void qDBusUInt64KeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
TQT_DBusDataMap< TQ_UINT16 > toUInt16KeyMap(bool *ok=0) const
Tries to get the encapsulated map.
static TQT_DBusData fromVariant(const TQT_DBusVariant &value)
Creates a data object for the given variant value.
static TQT_DBusData fromList(const TQT_DBusDataList &list)
Creates a data object for the given list.
TQT_DBusData::Type valueType() const
Returns the value type of the map object.
static TQT_DBusData fromStruct(const TQValueList< TQT_DBusData > &memberList)
Creates a data object for the given struct's memberList.
static void qDBusObjectPathKeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
static TQT_DBusData fromUInt32KeyMap(const TQT_DBusDataMap< TQ_UINT32 > &map)
Creates a data object for the given map.
Data type for representing a D-Bus variant.
bool hasContainerValueType() const
Checks whether the value type is a data container itself.
TQT_DBusData containerValueType() const
Returns a container prototype for the map's value type.
static TQT_DBusData fromInt16KeyMap(const TQT_DBusDataMap< TQ_INT16 > &map)
Creates a data object for the given map.
static TQValueList< TQT_DBusData > parseSignature(TQCString &signature)
static void qDBusDataToIterator(DBusMessageIter *it, const TQT_DBusData &var)
TQCString buildDBusSignature() const
Creates the data objects D-Bus signature.
const char * typeName() const
Returns the string representation of the object's Type.
#define DBUS_TYPE_UNIX_FD
static TQT_DBusData fromStringKeyMap(const TQT_DBusDataMap< TQString > &map)
Creates a data object for the given map.
void qFetchInt64KeyMapEntry(TQT_DBusDataMap< TQ_INT64 > &map, DBusMessageIter *it)
const_iterator begin() const
Returns an iterator to the first item according to the key sort order.
#define DBUS_TYPE_UNIX_FD_AS_STRING
TQ_UINT16 toUInt16(bool *ok=0) const
Tries to get the encapsulated unsigned 16-bit integer value.
static void qDBusInt16KeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
void qFetchUInt16KeyMapEntry(TQT_DBusDataMap< TQ_UINT16 > &map, DBusMessageIter *it)
static void qDBusByteKeyMapToIterator(DBusMessageIter *it, const TQT_DBusData &var)
static TQT_DBusData fromUnixFdKeyMap(const TQT_DBusDataMap< TQT_DBusUnixFd > &map)
Creates a data object for the given map.
TQT_DBusDataMap< TQ_INT64 > toInt64KeyMap(bool *ok=0) const
Tries to get the encapsulated map.
Class to transport maps of D-Bus data types.
TQT_DBusData containerItemType() const
Returns a container prototype for the list's element type.
bool toBool(bool *ok=0) const
Tries to get the encapsulated boolean value.
int fileDescriptor() const
Get unix file handle.
bool insert(const T &key, const TQT_DBusData &data)
Inserts a given value for a given key.
static TQT_DBusData fromString(const TQString &value)
Creates a data object for the given string value.