diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c
index aefd291..a84b8fd 100644
--- a/obexd/plugins/mas.c
+++ b/obexd/plugins/mas.c
#include "log.h"
#include "obex.h"
#include "service.h"
+#include "mimetype.h"
#include "dbus.h"
#include "messages.h"
return 0;
}
+static void *any_open(const char *name, int oflag, mode_t mode,
+ void *driver_data, size_t *size, int *err)
+{
+ struct mas_session *mas = driver_data;
+
+ DBG("");
+
+ *err = 0;
+
+ return mas;
+}
+
+static ssize_t any_write(void *object, const void *buf, size_t count)
+{
+ DBG("");
+
+ return count;
+}
+
+static ssize_t any_read(void *obj, void *buf, size_t count,
+ uint8_t *hi, unsigned int *flags)
+{
+ DBG("");
+
+ *hi = OBEX_HDR_BODY;
+ *flags = 0;
+
+ return 0;
+}
+
+static int any_close(void *obj)
+{
+ DBG("");
+
+ return 0;
+}
+
static struct obex_service_driver mas = {
.name = "Message Access server",
.service = OBEX_MAS,
.disconnect = mas_disconnect,
};
+static struct obex_mime_type_driver mime_map = {
+ .target = MAS_TARGET,
+ .target_size = TARGET_SIZE,
+ .mimetype = NULL,
+ .open = any_open,
+ .close = any_close,
+ .read = any_read,
+ .write = any_write,
+};
+
static int mas_init(void)
{
int err;
+ err = obex_mime_type_driver_register(&mime_map);
+ if (err < 0)
+ goto failed_mime;
+
err = obex_service_driver_register(&mas);
if (err < 0)
goto failed_mas_reg;
return 0;
failed_mas_reg:
+ obex_mime_type_driver_unregister(&mime_map);
+
+failed_mime:
return err;
}
static void mas_exit(void)
{
obex_service_driver_unregister(&mas);
+ obex_mime_type_driver_unregister(&mime_map);
}
OBEX_PLUGIN_DEFINE(mas, mas_init, mas_exit)