diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c
index 576c206..30e529f 100644
--- a/obexd/plugins/mas.c
+++ b/obexd/plugins/mas.c
#include <inttypes.h>
#include <gobex/gobex.h>
+#include <gobex/gobex-apparam.h>
#include "obexd.h"
#include "plugin.h"
gboolean finished;
gboolean nth_call;
GString *buffer;
- map_ap_t *inparams;
- map_ap_t *outparams;
+ GObexApparam *inparams;
+ GObexApparam *outparams;
gboolean ap_sent;
};
if (size < 0)
size = 0;
- mas->inparams = map_ap_decode(buffer, size);
+ mas->inparams = g_obex_apparam_decode(buffer, size);
if (mas->inparams == NULL) {
DBG("Error when parsing parameters!");
return -EBADR;
}
- mas->outparams = map_ap_new();
-
return 0;
}
mas->buffer = NULL;
}
- map_ap_free(mas->inparams);
- mas->inparams = NULL;
- map_ap_free(mas->outparams);
- mas->outparams = NULL;
+ if (mas->inparams) {
+ g_obex_apparam_free(mas->inparams);
+ mas->inparams = NULL;
+ }
+
+ if (mas->outparams) {
+ g_obex_apparam_free(mas->outparams);
+ mas->outparams = NULL;
+ }
mas->nth_call = FALSE;
mas->finished = FALSE;
return;
}
- map_ap_get_u16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
+ g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
if (max == 0) {
if (!entry)
proceed:
if (!entry) {
- map_ap_set_u16(mas->outparams, MAP_AP_MESSAGESLISTINGSIZE,
- size);
- map_ap_set_u8(mas->outparams, MAP_AP_NEWMESSAGE,
- newmsg ? 1 : 0);
+ mas->outparams = g_obex_apparam_set_uint16(mas->outparams,
+ MAP_AP_MESSAGESLISTINGSIZE,
+ size);
+ mas->outparams = g_obex_apparam_set_uint8(mas->outparams,
+ MAP_AP_NEWMESSAGE,
+ newmsg ? 1 : 0);
}
if (err != -EAGAIN)
return;
}
- map_ap_get_u16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
+ g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
if (max == 0) {
if (err != -EAGAIN)
- map_ap_set_u16(mas->outparams,
- MAP_AP_FOLDERLISTINGSIZE, size);
+ mas->outparams = g_obex_apparam_set_uint16(
+ mas->outparams,
+ MAP_AP_FOLDERLISTINGSIZE,
+ size);
if (!name)
mas->finished = TRUE;
DBG("name = %s", name);
- map_ap_get_u16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
- map_ap_get_u16(mas->inparams, MAP_AP_STARTOFFSET, &offset);
+ g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
+ g_obex_apparam_get_uint16(mas->inparams, MAP_AP_STARTOFFSET, &offset);
*err = messages_get_folder_listing(mas->backend_data, name, max,
offset, get_folder_listing_cb, mas);
return NULL;
}
- map_ap_get_u16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
- map_ap_get_u16(mas->inparams, MAP_AP_STARTOFFSET, &offset);
+ g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max);
+ g_obex_apparam_get_uint16(mas->inparams, MAP_AP_STARTOFFSET, &offset);
- map_ap_get_u32(mas->inparams, MAP_AP_PARAMETERMASK,
+ g_obex_apparam_get_uint32(mas->inparams, MAP_AP_PARAMETERMASK,
&filter.parameter_mask);
- map_ap_get_u8(mas->inparams, MAP_AP_FILTERMESSAGETYPE,
+ g_obex_apparam_get_uint8(mas->inparams, MAP_AP_FILTERMESSAGETYPE,
&filter.type);
- filter.period_begin = map_ap_get_string(mas->inparams,
+ filter.period_begin = g_obex_apparam_get_string(mas->inparams,
MAP_AP_FILTERPERIODBEGIN);
- filter.period_end = map_ap_get_string(mas->inparams,
+ filter.period_end = g_obex_apparam_get_string(mas->inparams,
MAP_AP_FILTERPERIODEND);
- map_ap_get_u8(mas->inparams, MAP_AP_FILTERREADSTATUS,
+ g_obex_apparam_get_uint8(mas->inparams, MAP_AP_FILTERREADSTATUS,
&filter.read_status);
- filter.recipient = map_ap_get_string(mas->inparams,
+ filter.recipient = g_obex_apparam_get_string(mas->inparams,
MAP_AP_FILTERRECIPIENT);
- filter.originator = map_ap_get_string(mas->inparams,
+ filter.originator = g_obex_apparam_get_string(mas->inparams,
MAP_AP_FILTERORIGINATOR);
- map_ap_get_u8(mas->inparams, MAP_AP_FILTERPRIORITY,
+ g_obex_apparam_get_uint8(mas->inparams, MAP_AP_FILTERPRIORITY,
&filter.priority);
*err = messages_get_messages_listing(mas->backend_data, name, max,
uint8_t *hi)
{
struct mas_session *mas = object;
- size_t len;
- uint8_t *apbuf;
DBG("");
return 0;
mas->ap_sent = TRUE;
- apbuf = map_ap_encode(mas->outparams, &len);
-
- if (len > mtu) {
- DBG("MTU is to small to fit application parameters header!");
- g_free(apbuf);
-
- return -EIO;
- }
-
- memcpy(buf, apbuf, len);
-
- return len;
+ return g_obex_apparam_encode(mas->outparams, buf, mtu);
}
static void *any_open(const char *name, int oflag, mode_t mode,