Example #1
0
struct obex_service_driver *obex_service_driver_find(GSList *drivers,
			const uint8_t *target, unsigned int target_size,
			const uint8_t *who, unsigned int who_size)
{
	GSList *l;

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

		/* who is optional, so only check for it if not NULL */
		if (who != NULL && memncmp0(who, who_size, driver->who,
							driver->who_size))
			continue;

		if (memncmp0(target, target_size, driver->target,
						driver->target_size) == 0)
			return driver;
	}

	return NULL;
}
Example #2
0
static 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;

		if (memncmp0(target, target_size, driver->target, driver->target_size))
			continue;

		if (memncmp0(who, who_size, driver->who, driver->who_size))
			continue;

		if (g_strcmp0(mimetype, driver->mimetype) == 0)
			return driver;
	}

	return NULL;
}