[rygel] server: Fix error codes for CreateReference



commit 1bdff9ec685287ac49fce662735da6190414f35d
Author: Jens Georg <jensg openismus com>
Date:   Tue Jun 18 15:54:22 2013 +0200

    server: Fix error codes for CreateReference
    
    https://bugzilla.gnome.org/show_bug.cgi?id=702083

 src/librygel-server/rygel-content-directory.vala |    1 +
 src/librygel-server/rygel-reference-creator.vala |    8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/src/librygel-server/rygel-content-directory.vala 
b/src/librygel-server/rygel-content-directory.vala
index 8ac31b9..9b9a147 100644
--- a/src/librygel-server/rygel-content-directory.vala
+++ b/src/librygel-server/rygel-content-directory.vala
@@ -37,6 +37,7 @@ internal errordomain Rygel.ContentDirectoryError {
     READ_ONLY_TAG = 705,
     PARAMETER_MISMATCH = 706,
     INVALID_SORT_CRITERIA = 709,
+    NO_SUCH_CONTAINER = 710,
     RESTRICTED_OBJECT = 711,
     BAD_METADATA = 712,
     RESTRICTED_PARENT = 713,
diff --git a/src/librygel-server/rygel-reference-creator.vala 
b/src/librygel-server/rygel-reference-creator.vala
index 3079f04..93c06f9 100644
--- a/src/librygel-server/rygel-reference-creator.vala
+++ b/src/librygel-server/rygel-reference-creator.vala
@@ -75,7 +75,11 @@ internal class Rygel.ReferenceCreator : GLib.Object, Rygel.StateMachine {
             this.action.return ();
             this.completed ();
         } catch (Error error) {
-            this.action.return_error (error.code, error.message);
+            if (error is ContentDirectoryError) {
+                this.action.return_error (error.code, error.message);
+            } else {
+                this.action.return_error (402, error.message);
+            }
 
             warning (_("Failed to create object under '%s': %s"),
                      this.container_id,
@@ -105,7 +109,7 @@ internal class Rygel.ReferenceCreator : GLib.Object, Rygel.StateMachine {
                                                          this.cancellable);
 
         if (media_object == null || !(media_object is MediaContainer)) {
-            throw new ContentDirectoryError.NO_SUCH_OBJECT
+            throw new ContentDirectoryError.NO_SUCH_CONTAINER
                                         (_("No such object"));
         } else if (!(OCMFlags.UPLOAD in media_object.ocm_flags) ||
                    !(media_object is WritableContainer)) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]