diff --git a/obexd/plugins/ftp.c b/obexd/plugins/ftp.c
index 7e2f1e4..4cf0135 100644
--- a/obexd/plugins/ftp.c
+++ b/obexd/plugins/ftp.c
return ret;
}
-static int ftp_action(struct obex_session *os, obex_object_t *obj,
- void *user_data)
+int ftp_action(struct obex_session *os, obex_object_t *obj, void *user_data)
{
struct ftp_session *ftp = user_data;
const char *name, *destname;
diff --git a/obexd/plugins/ftp.h b/obexd/plugins/ftp.h
index 2374125..710bfa4 100644
--- a/obexd/plugins/ftp.h
+++ b/obexd/plugins/ftp.h
int ftp_put(struct obex_session *os, obex_object_t *obj, void *user_data);
int ftp_setpath(struct obex_session *os, obex_object_t *obj, void *user_data);
void ftp_disconnect(struct obex_session *os, void *user_data);
+int ftp_action(struct obex_session *os, obex_object_t *obj, void *user_data);
diff --git a/obexd/plugins/pcsuite.c b/obexd/plugins/pcsuite.c
index 5545917..125f25a 100644
--- a/obexd/plugins/pcsuite.c
+++ b/obexd/plugins/pcsuite.c
return ftp_setpath(os, obj, pcsuite->ftp);
}
+static int pcsuite_action(struct obex_session *os, obex_object_t *obj,
+ void *user_data)
+{
+ struct pcsuite_session *pcsuite = user_data;
+
+ DBG("%p", pcsuite);
+
+ return ftp_action(os, obj, pcsuite->ftp);
+}
+
static void pcsuite_disconnect(struct obex_session *os, void *user_data)
{
struct pcsuite_session *pcsuite = user_data;
.put = pcsuite_put,
.chkput = pcsuite_chkput,
.setpath = pcsuite_setpath,
+ .action = pcsuite_action,
.disconnect = pcsuite_disconnect
};