[PATCH obexd 1/3] client: add FileTransfer.MoveFile implementation

Subsystems: the rest

STALE5505d

4 messages, 2 authors, 2011-08-22 · open the first message on its own page

[PATCH obexd 1/3] client: add FileTransfer.MoveFile implementation

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-08-12 12:46:42

From: Luiz Augusto von Dentz <redacted>

---
 client/ftp.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/client/ftp.c b/client/ftp.c
index e81d443..4c04eda 100644
--- a/client/ftp.c
+++ b/client/ftp.c
@@ -316,6 +316,25 @@ static DBusMessage *copy_file(DBusConnection *connection,
 static DBusMessage *move_file(DBusConnection *connection,
 				DBusMessage *message, void *user_data)
 {
+	struct ftp_data *ftp = user_data;
+	struct obc_session *session = ftp->session;
+	GwObex *obex = obc_session_get_obex(session);
+	const char *filename, *destname;
+	int err;
+
+	if (dbus_message_get_args(message, NULL,
+				DBUS_TYPE_STRING, &filename,
+				DBUS_TYPE_STRING, &destname,
+				DBUS_TYPE_INVALID) == FALSE)
+		return g_dbus_create_error(message,
+				"org.openobex.Error.InvalidArguments", NULL);
+
+	if (gw_obex_move(obex, filename, destname, &err) == FALSE) {
+		return g_dbus_create_error(message,
+				"org.openobex.Error.Failed",
+				"%s", OBEX_ResponseToString(err));
+	}
+
 	return dbus_message_new_method_return(message);
 }
 
-- 
1.7.6

[PATCH obexd 2/3] client: add FileTransfer.CopyFile implementation

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-08-12 12:46:43

From: Luiz Augusto von Dentz <redacted>

---
 client/ftp.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/client/ftp.c b/client/ftp.c
index 4c04eda..87116cc 100644
--- a/client/ftp.c
+++ b/client/ftp.c
@@ -310,6 +310,25 @@ static DBusMessage *put_file(DBusConnection *connection,
 static DBusMessage *copy_file(DBusConnection *connection,
 				DBusMessage *message, void *user_data)
 {
+	struct ftp_data *ftp = user_data;
+	struct obc_session *session = ftp->session;
+	GwObex *obex = obc_session_get_obex(session);
+	const char *filename, *destname;
+	int err;
+
+	if (dbus_message_get_args(message, NULL,
+				DBUS_TYPE_STRING, &filename,
+				DBUS_TYPE_STRING, &destname,
+				DBUS_TYPE_INVALID) == FALSE)
+		return g_dbus_create_error(message,
+				"org.openobex.Error.InvalidArguments", NULL);
+
+	if (gw_obex_copy(obex, filename, destname, &err) == FALSE) {
+		return g_dbus_create_error(message,
+				"org.openobex.Error.Failed",
+				"%s", OBEX_ResponseToString(err));
+	}
+
 	return dbus_message_new_method_return(message);
 }
 
-- 
1.7.6

[PATCH obexd 3/3] Add move and copy support to ftp-client

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-08-12 12:46:44

From: Luiz Augusto von Dentz <redacted>

---
 test/ftp-client |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/test/ftp-client b/test/ftp-client
index 4cb4ee5..9bc038d 100755
--- a/test/ftp-client
+++ b/test/ftp-client
@@ -56,6 +56,12 @@ def parse_options():
                       help="Get FILE", metavar="FILE")
     parser.add_option("-p", "--put", dest="put_file",
                       help="Put FILE", metavar="FILE")
+    parser.add_option("-y", "--copy", dest="copy_file",
+                      help="Copy FILE", metavar="FILE")
+    parser.add_option("-m", "--move", dest="move_file",
+                      help="Move FILE", metavar="FILE")
+    parser.add_option("-n", "--destname", dest="dest_file",
+                      help="Destination FILE", metavar="FILE")
     parser.add_option("-r", "--remove", dest="remove_file",
                       help="Remove FILE", metavar="FILE")
     parser.add_option("-v", "--verbose", action="store_true", dest="verbose")
@@ -96,6 +102,18 @@ def remove_file(session, filename):
                     reply_handler=void_reply,
                     error_handler=error)
 
+def move_file(session, filename, destname):
+    session.MoveFile(filename,
+                    destname,
+                    reply_handler=void_reply,
+                    error_handler=error)
+
+def copy_file(session, filename, destname):
+    session.CopyFile(filename,
+                    destname,
+                    reply_handler=void_reply,
+                    error_handler=error)
+
 if  __name__ == '__main__':
 
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
@@ -140,6 +158,12 @@ if  __name__ == '__main__':
     if options.put_file:
         put_file(ftp, options.put_file)
 
+    if options.move_file:
+        move_file(ftp, options.move_file, options.dest_file)
+
+    if options.copy_file:
+        copy_file(ftp, options.copy_file, options.dest_file)
+
     if options.remove_file:
        remove_file(ftp, options.remove_file)
 
-- 
1.7.6

Re: [PATCH obexd 1/3] client: add FileTransfer.MoveFile implementation

From: Johan Hedberg <hidden>
Date: 2011-08-22 07:37:33

Hi Luiz,

On Fri, Aug 12, 2011, Luiz Augusto von Dentz wrote:
---
 client/ftp.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
Thanks, all three patches have been applied (after a couple of small
coding-style fixes to the first two).

Johan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help