Skip to content

Commit

Permalink
obexd: const obex_mime_type_driver instances and API
Browse files Browse the repository at this point in the history
  • Loading branch information
evelikov-work authored and Vudentz committed Jan 19, 2024
1 parent 8e88f8c commit 0c3c674
Show file tree
Hide file tree
Showing 10 changed files with 34 additions and 31 deletions.
2 changes: 1 addition & 1 deletion obexd/client/mns.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ static struct obex_service_driver mns = {
.disconnect = mns_disconnect,
};

static struct obex_mime_type_driver mime_event_report = {
static const struct obex_mime_type_driver mime_event_report = {
.target = MNS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/MAP-event-report",
Expand Down
8 changes: 4 additions & 4 deletions obexd/plugins/filesystem.c
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ static int capability_close(void *object)
return err;
}

static struct obex_mime_type_driver file = {
static const struct obex_mime_type_driver file = {
.open = filesystem_open,
.close = filesystem_close,
.read = filesystem_read,
Expand All @@ -652,7 +652,7 @@ static struct obex_mime_type_driver file = {
.copy = filesystem_copy,
};

static struct obex_mime_type_driver capability = {
static const struct obex_mime_type_driver capability = {
.target = FTP_TARGET,
.target_size = FTP_TARGET_SIZE,
.mimetype = "x-obex/capability",
Expand All @@ -661,7 +661,7 @@ static struct obex_mime_type_driver capability = {
.read = capability_read,
};

static struct obex_mime_type_driver folder = {
static const struct obex_mime_type_driver folder = {
.target = FTP_TARGET,
.target_size = FTP_TARGET_SIZE,
.mimetype = "x-obex/folder-listing",
Expand All @@ -670,7 +670,7 @@ static struct obex_mime_type_driver folder = {
.read = folder_read,
};

static struct obex_mime_type_driver pcsuite = {
static const struct obex_mime_type_driver pcsuite = {
.target = FTP_TARGET,
.target_size = FTP_TARGET_SIZE,
.who = PCSUITE_WHO,
Expand Down
2 changes: 1 addition & 1 deletion obexd/plugins/irmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ static ssize_t irmc_read(void *object, void *buf, size_t count)
return len;
}

static struct obex_mime_type_driver irmc_driver = {
static const struct obex_mime_type_driver irmc_driver = {
.target = IRMC_TARGET,
.target_size = IRMC_TARGET_SIZE,
.open = irmc_open,
Expand Down
16 changes: 8 additions & 8 deletions obexd/plugins/mas.c
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@ static struct obex_service_driver mas = {
.disconnect = mas_disconnect,
};

static struct obex_mime_type_driver mime_map = {
static const struct obex_mime_type_driver mime_map = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = NULL,
Expand All @@ -803,7 +803,7 @@ static struct obex_mime_type_driver mime_map = {
.write = any_write,
};

static struct obex_mime_type_driver mime_message = {
static const struct obex_mime_type_driver mime_message = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/message",
Expand All @@ -813,7 +813,7 @@ static struct obex_mime_type_driver mime_message = {
.write = any_write,
};

static struct obex_mime_type_driver mime_folder_listing = {
static const struct obex_mime_type_driver mime_folder_listing = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-obex/folder-listing",
Expand All @@ -824,7 +824,7 @@ static struct obex_mime_type_driver mime_folder_listing = {
.write = any_write,
};

static struct obex_mime_type_driver mime_msg_listing = {
static const struct obex_mime_type_driver mime_msg_listing = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/MAP-msg-listing",
Expand All @@ -835,7 +835,7 @@ static struct obex_mime_type_driver mime_msg_listing = {
.write = any_write,
};

static struct obex_mime_type_driver mime_notification_registration = {
static const struct obex_mime_type_driver mime_notification_registration = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/MAP-NotificationRegistration",
Expand All @@ -845,7 +845,7 @@ static struct obex_mime_type_driver mime_notification_registration = {
.write = any_write,
};

static struct obex_mime_type_driver mime_message_status = {
static const struct obex_mime_type_driver mime_message_status = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/messageStatus",
Expand All @@ -855,7 +855,7 @@ static struct obex_mime_type_driver mime_message_status = {
.write = any_write,
};

static struct obex_mime_type_driver mime_message_update = {
static const struct obex_mime_type_driver mime_message_update = {
.target = MAS_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/MAP-messageUpdate",
Expand All @@ -865,7 +865,7 @@ static struct obex_mime_type_driver mime_message_update = {
.write = any_write,
};

static struct obex_mime_type_driver *map_drivers[] = {
static const struct obex_mime_type_driver *map_drivers[] = {
&mime_map,
&mime_message,
&mime_folder_listing,
Expand Down
6 changes: 3 additions & 3 deletions obexd/plugins/pbap.c
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,7 @@ static ssize_t vobject_vcard_read(void *object, void *buf, size_t count)
return string_read(obj->buffer, buf, count);
}

static struct obex_mime_type_driver mime_pull = {
static const struct obex_mime_type_driver mime_pull = {
.target = PBAP_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/phonebook",
Expand All @@ -939,7 +939,7 @@ static struct obex_mime_type_driver mime_pull = {
.get_next_header = vobject_pull_get_next_header,
};

static struct obex_mime_type_driver mime_list = {
static const struct obex_mime_type_driver mime_list = {
.target = PBAP_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/vcard-listing",
Expand All @@ -949,7 +949,7 @@ static struct obex_mime_type_driver mime_list = {
.get_next_header = vobject_list_get_next_header,
};

static struct obex_mime_type_driver mime_vcard = {
static const struct obex_mime_type_driver mime_vcard = {
.target = PBAP_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "x-bt/vcard",
Expand Down
2 changes: 1 addition & 1 deletion obexd/plugins/pcsuite.c
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ static int backup_flush(void *object)
return 0;
}

static struct obex_mime_type_driver backup = {
static const struct obex_mime_type_driver backup = {
.target = FTP_TARGET,
.target_size = TARGET_SIZE,
.mimetype = "application/vnd.nokia-backup",
Expand Down
2 changes: 1 addition & 1 deletion obexd/plugins/syncevolution.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ static ssize_t synce_write(void *object, const void *buf, size_t count)
return -EAGAIN;
}

static struct obex_mime_type_driver synce_driver = {
static const struct obex_mime_type_driver synce_driver = {
.target = SYNCML_TARGET,
.target_size = SYNCML_TARGET_SIZE,
.open = synce_open,
Expand Down
17 changes: 9 additions & 8 deletions obexd/src/mimetype.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,15 @@ int obex_object_set_io_watch(void *object, obex_object_io_func func,
return 0;
}

static struct obex_mime_type_driver *find_driver(const uint8_t *target,
static const struct obex_mime_type_driver *find_driver(const uint8_t *target,
unsigned int target_size,
const char *mimetype, const uint8_t *who,
unsigned int who_size)
{
GSList *l;

for (l = drivers; l; l = l->next) {
struct obex_mime_type_driver *driver = l->data;
const struct obex_mime_type_driver *driver = l->data;

if (memncmp0(target, target_size, driver->target, driver->target_size))
continue;
Expand All @@ -134,12 +134,12 @@ static struct obex_mime_type_driver *find_driver(const uint8_t *target,
return NULL;
}

struct obex_mime_type_driver *obex_mime_type_driver_find(const uint8_t *target,
unsigned int target_size,
const struct obex_mime_type_driver *
obex_mime_type_driver_find(const uint8_t *target, unsigned int target_size,
const char *mimetype, const uint8_t *who,
unsigned int who_size)
{
struct obex_mime_type_driver *driver;
const struct obex_mime_type_driver *driver;

driver = find_driver(target, target_size, mimetype, who, who_size);
if (driver == NULL) {
Expand All @@ -162,7 +162,7 @@ struct obex_mime_type_driver *obex_mime_type_driver_find(const uint8_t *target,
return driver;
}

int obex_mime_type_driver_register(struct obex_mime_type_driver *driver)
int obex_mime_type_driver_register(const struct obex_mime_type_driver *driver)
{
if (!driver) {
error("Invalid driver");
Expand All @@ -178,12 +178,13 @@ int obex_mime_type_driver_register(struct obex_mime_type_driver *driver)

DBG("driver %p mimetype %s registered", driver, driver->mimetype);

drivers = g_slist_append(drivers, driver);
drivers = g_slist_append(drivers, (gpointer)driver);

return 0;
}

void obex_mime_type_driver_unregister(struct obex_mime_type_driver *driver)
void
obex_mime_type_driver_unregister(const struct obex_mime_type_driver *driver)
{
if (!g_slist_find(drivers, driver)) {
error("Unable to unregister: No such driver %p", driver);
Expand Down
8 changes: 5 additions & 3 deletions obexd/src/mimetype.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ struct obex_mime_type_driver {
int (*remove) (const char *name);
};

int obex_mime_type_driver_register(struct obex_mime_type_driver *driver);
void obex_mime_type_driver_unregister(struct obex_mime_type_driver *driver);
struct obex_mime_type_driver *obex_mime_type_driver_find(const uint8_t *target,
int obex_mime_type_driver_register(const struct obex_mime_type_driver *driver);
void
obex_mime_type_driver_unregister(const struct obex_mime_type_driver *driver);
const struct obex_mime_type_driver *
obex_mime_type_driver_find(const uint8_t *target,
unsigned int target_size,
const char *mimetype, const uint8_t *who,
unsigned int who_size);
Expand Down
2 changes: 1 addition & 1 deletion obexd/src/obex-priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ struct obex_session {
struct obex_server *server;
gboolean checked;
GObex *obex;
struct obex_mime_type_driver *driver;
const struct obex_mime_type_driver *driver;
gboolean headers_sent;
};

Expand Down

0 comments on commit 0c3c674

Please sign in to comment.