qmi: make version_list private

This commit is contained in:
Jonas Bonn 2018-04-03 16:50:55 +02:00 committed by Denis Kenzior
parent 76471964e2
commit 6485522c91
2 changed files with 49 additions and 12 deletions

View File

@ -47,6 +47,13 @@ struct discovery {
qmi_destroy_func_t destroy;
};
struct qmi_version {
uint8_t type;
uint16_t major;
uint16_t minor;
const char *name;
};
struct qmi_device {
int ref_count;
int fd;
@ -1102,6 +1109,41 @@ static const void *tlv_get(const void *data, uint16_t size,
return NULL;
}
bool qmi_device_get_service_version(struct qmi_device *device, uint8_t type,
uint16_t *major, uint16_t *minor)
{
struct qmi_version *info;
int i;
for (i = 0, info = device->version_list;
i < device->version_count;
i++, info++) {
if (info->type == type) {
*major = info->major;
*minor = info->minor;
return true;
}
}
return false;
}
bool qmi_device_has_service(struct qmi_device *device, uint8_t type)
{
struct qmi_version *info;
int i;
for (i = 0, info = device->version_list;
i < device->version_count;
i++, info++) {
if (info->type == type) {
return true;
}
}
return false;
}
struct discover_data {
struct discovery super;
struct qmi_device *device;
@ -1201,7 +1243,7 @@ done:
device->version_count = count;
if (data->func)
data->func(count, list, data->user_data);
data->func(data->user_data);
__qmi_device_discovery_complete(data->device, &data->super);
}
@ -1237,8 +1279,7 @@ static gboolean discover_reply(gpointer user_data)
}
if (data->func)
data->func(device->version_count,
device->version_list, data->user_data);
data->func(data->user_data);
__qmi_device_discovery_complete(data->device, &data->super);
__request_free(req, NULL);

View File

@ -61,13 +61,6 @@ enum qmi_device_expected_data_format {
QMI_DEVICE_EXPECTED_DATA_FORMAT_RAW_IP,
};
struct qmi_version {
uint8_t type;
uint16_t major;
uint16_t minor;
const char *name;
};
void qmi_free(void *ptr);
typedef void (*qmi_destroy_func_t)(void *user_data);
@ -78,8 +71,7 @@ struct qmi_device;
typedef void (*qmi_debug_func_t)(const char *str, void *user_data);
typedef void (*qmi_sync_func_t)(void *user_data);
typedef void (*qmi_shutdown_func_t)(void *user_data);
typedef void (*qmi_discover_func_t)(uint8_t count,
const struct qmi_version *list, void *user_data);
typedef void (*qmi_discover_func_t)(void *user_data);
struct qmi_device *qmi_device_new(int fd);
@ -96,6 +88,10 @@ bool qmi_device_discover(struct qmi_device *device, qmi_discover_func_t func,
bool qmi_device_shutdown(struct qmi_device *device, qmi_shutdown_func_t func,
void *user_data, qmi_destroy_func_t destroy);
bool qmi_device_has_service(struct qmi_device *device, uint8_t type);
bool qmi_device_get_service_version(struct qmi_device *device, uint8_t type,
uint16_t *major, uint16_t *minor);
bool qmi_device_sync(struct qmi_device *device,
qmi_sync_func_t func, void *user_data);
bool qmi_device_is_sync_supported(struct qmi_device *device);