mirror of git://git.sysmocom.de/ofono
gisi: store object handle for associated server
This commit is contained in:
parent
0e95bfd856
commit
a4117e5411
|
@ -65,6 +65,7 @@ typedef struct _GIsiIndication GIsiIndication;
|
||||||
|
|
||||||
struct _GIsiClient {
|
struct _GIsiClient {
|
||||||
uint8_t resource;
|
uint8_t resource;
|
||||||
|
uint16_t server_obj;
|
||||||
struct {
|
struct {
|
||||||
int major;
|
int major;
|
||||||
int minor;
|
int minor;
|
||||||
|
@ -202,6 +203,31 @@ int g_isi_version_minor(GIsiClient *client)
|
||||||
return client ? client->version.minor : -1;
|
return client ? client->version.minor : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the server object for the resource associated with @a
|
||||||
|
* client.
|
||||||
|
* @param client client for the resource
|
||||||
|
* @param server object
|
||||||
|
*/
|
||||||
|
void g_isi_server_object_set(GIsiClient *client, uint16_t obj)
|
||||||
|
{
|
||||||
|
if (!client)
|
||||||
|
return;
|
||||||
|
|
||||||
|
client->server_obj = obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the server object for the the resource associated with @a
|
||||||
|
* client.
|
||||||
|
* @param client client for the resource
|
||||||
|
* @return server object
|
||||||
|
*/
|
||||||
|
uint8_t g_isi_server_object(GIsiClient *client)
|
||||||
|
{
|
||||||
|
return client ? client->server_obj : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the resource associated with @a client
|
* Returns the resource associated with @a client
|
||||||
* @param client client for the resource
|
* @param client client for the resource
|
||||||
|
|
|
@ -59,6 +59,9 @@ void g_isi_version_set(GIsiClient *client, int major, int minor);
|
||||||
int g_isi_version_major(GIsiClient *client);
|
int g_isi_version_major(GIsiClient *client);
|
||||||
int g_isi_version_minor(GIsiClient *client);
|
int g_isi_version_minor(GIsiClient *client);
|
||||||
|
|
||||||
|
void g_isi_server_object_set(GIsiClient *client, uint16_t obj);
|
||||||
|
uint8_t g_isi_server_object(GIsiClient *client);
|
||||||
|
|
||||||
void g_isi_client_set_debug(GIsiClient *client, GIsiDebugFunc func,
|
void g_isi_client_set_debug(GIsiClient *client, GIsiDebugFunc func,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,7 @@ static gboolean verify_cb(GIsiClient *client, const void *restrict data,
|
||||||
|
|
||||||
if (msg[1] == COMM_ISI_VERSION_GET_RESP && len >= 4) {
|
if (msg[1] == COMM_ISI_VERSION_GET_RESP && len >= 4) {
|
||||||
g_isi_version_set(client, msg[2], msg[3]);
|
g_isi_version_set(client, msg[2], msg[3]);
|
||||||
|
g_isi_server_object_set(client, object);
|
||||||
alive = TRUE;
|
alive = TRUE;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue