diff --git a/obexd/plugins/ftp.c b/obexd/plugins/ftp.c
index 899d463..5dfdb53 100644
--- a/obexd/plugins/ftp.c
+++ b/obexd/plugins/ftp.c
const char *capability = obex_get_capability_path(os);
if (type == NULL)
- return obex_stream_start(os, ftp->folder, os);
+ return obex_get_stream_start(os, ftp->folder, os);
if (g_str_equal(type, CAP_TYPE))
- return obex_stream_start(os, capability, os);
+ return obex_get_stream_start(os, capability, os);
if (g_str_equal(type, LST_TYPE))
- return obex_stream_start(os, ftp->folder, os);
+ return obex_get_stream_start(os, ftp->folder, os);
return -ENOENT;
}
path = g_build_filename(ftp->folder, name, NULL);
- ret = obex_prepare_put(os, path);
+ ret = obex_put_stream_start(os, path, os);
g_free(path);
diff --git a/obexd/plugins/opp.c b/obexd/plugins/opp.c
index a28b0e9..4a29e08 100644
--- a/obexd/plugins/opp.c
+++ b/obexd/plugins/opp.c
manager_emit_transfer_started(os);
- ret = obex_prepare_put(os, path);
+ ret = obex_put_stream_start(os, path, os);
g_free(path);
g_free(folder);
return -EPERM;
if (g_str_equal(type, VCARD_TYPE)) {
- if (obex_stream_start(os, VCARD_FILE, NULL) < 0)
+ if (obex_get_stream_start(os, VCARD_FILE, NULL) < 0)
return -ENOENT;
} else
diff --git a/obexd/plugins/pbap.c b/obexd/plugins/pbap.c
index 95dbc14..339caef 100644
--- a/obexd/plugins/pbap.c
+++ b/obexd/plugins/pbap.c
}
pbap->params = params;
- ret = obex_stream_start(os, path, pbap);
+ ret = obex_get_stream_start(os, path, pbap);
failed:
g_free(path);
diff --git a/obexd/plugins/syncevolution.c b/obexd/plugins/syncevolution.c
index 411cdf2..bf15a61 100644
--- a/obexd/plugins/syncevolution.c
+++ b/obexd/plugins/syncevolution.c
static int synce_get(struct obex_session *os, obex_object_t *obj, gpointer user_data)
{
- return obex_stream_start(os, NULL, os);
+ return obex_get_stream_start(os, NULL, os);
}
static void close_cb(DBusPendingCall *call, void *user_data)
diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index dee732a..aafcb44 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
os_set_response(obj, err);
}
-int obex_stream_start(struct obex_session *os,
+int obex_get_stream_start(struct obex_session *os,
const gchar *filename, gpointer driver_data)
{
gint err;
return len;
}
-gint obex_prepare_put(struct obex_session *os, const gchar *filename)
+int obex_put_stream_start(struct obex_session *os,
+ const gchar *filename, gpointer driver_data)
{
gint len;
int err;
os->object = os->driver->open(filename, O_WRONLY | O_CREAT | O_TRUNC,
- 0600, os->driver->driver_data,
+ 0600, driver_data,
os->size != OBJECT_SIZE_UNKNOWN ?
(size_t *) &os->size : NULL, &err);
if (os->object == NULL) {
}
os->path = filename;
+ os->driver->driver_data = driver_data;
if (!os->buf) {
debug("PUT request checked, no buffered data");
diff --git a/obexd/src/obex.h b/obexd/src/obex.h
index f1a4f07..6c9ba4b 100644
--- a/obexd/src/obex.h
+++ b/obexd/src/obex.h
void obex_connect_cb(GIOChannel *io, GError *err, gpointer user_data);
-int obex_stream_start(struct obex_session *os,
+int obex_get_stream_start(struct obex_session *os,
+ const gchar *filename, gpointer user_data);
+int obex_put_stream_start(struct obex_session *os,
const gchar *filename, gpointer user_data);
-gint obex_prepare_put(struct obex_session *os, const gchar *filename);
const char *obex_get_name(struct obex_session *os);
ssize_t obex_get_size(struct obex_session *os);
const char *obex_get_type(struct obex_session *os);