mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:14:37 +02:00
DBus: expands Get(U)Int to (u)int64
This commit is contained in:
+3
-3
@@ -29,12 +29,12 @@ typedef struct FFDBusData {
|
||||
const char* ffDBusLoadData(DBusBusType busType, FFDBusData* data); // Returns an error message or NULL on success
|
||||
bool ffDBusGetString(FFDBusData* dbus, DBusMessageIter* iter, FFstrbuf* result);
|
||||
bool ffDBusGetBool(FFDBusData* dbus, DBusMessageIter* iter, bool* result);
|
||||
bool ffDBusGetUint(FFDBusData* dbus, DBusMessageIter* iter, uint32_t* result);
|
||||
bool ffDBusGetUint(FFDBusData* dbus, DBusMessageIter* iter, uint64_t* result);
|
||||
DBusMessage* ffDBusGetMethodReply(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* method, const char* arg1, const char* arg2);
|
||||
DBusMessage* ffDBusGetProperty(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* property);
|
||||
bool ffDBusGetPropertyString(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* property, FFstrbuf* result);
|
||||
bool ffDBusGetInt(FFDBusData* dbus, DBusMessageIter* iter, int32_t* result);
|
||||
bool ffDBusGetPropertyUint(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* property, uint32_t* result);
|
||||
bool ffDBusGetInt(FFDBusData* dbus, DBusMessageIter* iter, int64_t* result);
|
||||
bool ffDBusGetPropertyUint(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* property, uint64_t* result);
|
||||
void ffDBusDestroyData(FFDBusData* data);
|
||||
|
||||
static inline DBusMessage* ffDBusGetAllProperties(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface) {
|
||||
|
||||
+26
-5
@@ -152,7 +152,7 @@ bool ffDBusGetBool(FFDBusData* dbus, DBusMessageIter* iter, bool* result) {
|
||||
return ffDBusGetBool(dbus, &subIter, result);
|
||||
}
|
||||
|
||||
bool ffDBusGetUint(FFDBusData* dbus, DBusMessageIter* iter, uint32_t* result) {
|
||||
bool ffDBusGetUint(FFDBusData* dbus, DBusMessageIter* iter, uint64_t* result) {
|
||||
int argType = dbus->lib->ffdbus_message_iter_get_arg_type(iter);
|
||||
|
||||
if (argType == DBUS_TYPE_BYTE) {
|
||||
@@ -170,6 +170,13 @@ bool ffDBusGetUint(FFDBusData* dbus, DBusMessageIter* iter, uint32_t* result) {
|
||||
}
|
||||
|
||||
if (argType == DBUS_TYPE_UINT32) {
|
||||
uint32_t value = 0;
|
||||
dbus->lib->ffdbus_message_iter_get_basic(iter, &value);
|
||||
*result = value;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argType == DBUS_TYPE_UINT64) {
|
||||
dbus->lib->ffdbus_message_iter_get_basic(iter, result);
|
||||
return true;
|
||||
}
|
||||
@@ -183,7 +190,7 @@ bool ffDBusGetUint(FFDBusData* dbus, DBusMessageIter* iter, uint32_t* result) {
|
||||
return ffDBusGetUint(dbus, &subIter, result);
|
||||
}
|
||||
|
||||
bool ffDBusGetInt(FFDBusData* dbus, DBusMessageIter* iter, int32_t* result) {
|
||||
bool ffDBusGetInt(FFDBusData* dbus, DBusMessageIter* iter, int64_t* result) {
|
||||
int argType = dbus->lib->ffdbus_message_iter_get_arg_type(iter);
|
||||
|
||||
if (argType == DBUS_TYPE_INT16) {
|
||||
@@ -194,6 +201,13 @@ bool ffDBusGetInt(FFDBusData* dbus, DBusMessageIter* iter, int32_t* result) {
|
||||
}
|
||||
|
||||
if (argType == DBUS_TYPE_INT32) {
|
||||
int32_t value = 0;
|
||||
dbus->lib->ffdbus_message_iter_get_basic(iter, &value);
|
||||
*result = value;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argType == DBUS_TYPE_INT64) {
|
||||
dbus->lib->ffdbus_message_iter_get_basic(iter, result);
|
||||
return true;
|
||||
}
|
||||
@@ -215,10 +229,17 @@ bool ffDBusGetInt(FFDBusData* dbus, DBusMessageIter* iter, int32_t* result) {
|
||||
if (argType == DBUS_TYPE_UINT32) {
|
||||
uint32_t value = 0;
|
||||
dbus->lib->ffdbus_message_iter_get_basic(iter, &value);
|
||||
if (value > 0x7FFFFFFFu) {
|
||||
*result = (int32_t) value;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argType == DBUS_TYPE_UINT64) {
|
||||
uint64_t value = 0;
|
||||
dbus->lib->ffdbus_message_iter_get_basic(iter, &value);
|
||||
if (value > INT64_MAX) {
|
||||
return false;
|
||||
}
|
||||
*result = (int32_t) value;
|
||||
*result = (int64_t) value;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -291,7 +312,7 @@ bool ffDBusGetPropertyString(FFDBusData* dbus, const char* busName, const char*
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool ffDBusGetPropertyUint(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* property, uint32_t* result) {
|
||||
bool ffDBusGetPropertyUint(FFDBusData* dbus, const char* busName, const char* objectPath, const char* interface, const char* property, uint64_t* result) {
|
||||
DBusMessage* reply = ffDBusGetProperty(dbus, busName, objectPath, interface, property);
|
||||
if (reply == NULL) {
|
||||
return false;
|
||||
|
||||
@@ -220,10 +220,10 @@ FFvariant ffSettingsGetXFConf(const char* channelName, const char* propertyName,
|
||||
}
|
||||
|
||||
if (type == FF_VARIANT_TYPE_INT) {
|
||||
int32_t value;
|
||||
int64_t value;
|
||||
if (ffDBusGetInt(&dbus, &rootIterator, &value)) {
|
||||
dbus.lib->ffdbus_message_unref(reply);
|
||||
return (FFvariant) { .intValue = value };
|
||||
return (FFvariant) { .intValue = (int32_t) value };
|
||||
}
|
||||
dbus.lib->ffdbus_message_unref(reply);
|
||||
return FF_VARIANT_NULL;
|
||||
@@ -295,10 +295,10 @@ FFvariant ffSettingsGetXFConfFirstMatch(const char* channelName, const char* pro
|
||||
dbus.lib->ffdbus_message_iter_next(&dictIterator);
|
||||
|
||||
if (type == FF_VARIANT_TYPE_INT) {
|
||||
int32_t value;
|
||||
int64_t value;
|
||||
if (ffDBusGetInt(&dbus, &dictIterator, &value)) {
|
||||
dbus.lib->ffdbus_message_unref(reply);
|
||||
return (FFvariant) { .intValue = value };
|
||||
return (FFvariant) { .intValue = (int32_t) value };
|
||||
}
|
||||
dbus.lib->ffdbus_message_unref(reply);
|
||||
return FF_VARIANT_NULL;
|
||||
|
||||
@@ -69,7 +69,7 @@ static bool detectBluetoothValue(FFDBusData* dbus, DBusMessageIter* iter, FFBlue
|
||||
} else if (ffStrEquals(deviceProperty, "Icon")) {
|
||||
ffDBusGetString(dbus, &dictIter, &device->type);
|
||||
} else if (ffStrEquals(deviceProperty, "Percentage")) {
|
||||
uint32_t percentage;
|
||||
uint64_t percentage;
|
||||
if (ffDBusGetUint(dbus, &dictIter, &percentage)) {
|
||||
device->battery = (uint8_t) percentage;
|
||||
}
|
||||
|
||||
@@ -56,12 +56,15 @@ static const char* detectBluetoothProperty(FFBluetoothRadioResult* device, FFDBu
|
||||
} else if (ffStrEquals(deviceProperty, "Alias")) {
|
||||
ffDBusGetString(dbus, &dictIter, &device->name);
|
||||
} else if (ffStrEquals(deviceProperty, "Manufacturer")) {
|
||||
uint32_t vendorId;
|
||||
uint64_t vendorId;
|
||||
if (ffDBusGetUint(dbus, &dictIter, &vendorId)) {
|
||||
ffStrbufSetStatic(&device->vendor, ffBluetoothRadioGetVendor(vendorId));
|
||||
ffStrbufSetStatic(&device->vendor, ffBluetoothRadioGetVendor((uint32_t) vendorId));
|
||||
}
|
||||
} else if (ffStrEquals(deviceProperty, "Version")) {
|
||||
ffDBusGetUint(dbus, &dictIter, (uint32_t*) &device->lmpVersion);
|
||||
uint64_t version;
|
||||
if (ffDBusGetUint(dbus, &dictIter, &version)) {
|
||||
device->lmpVersion = (int32_t) version;
|
||||
}
|
||||
} else if (ffStrEquals(deviceProperty, "Powered")) {
|
||||
ffDBusGetBool(dbus, &dictIter, &device->enabled);
|
||||
} else if (ffStrEquals(deviceProperty, "Discoverable")) {
|
||||
|
||||
Reference in New Issue
Block a user