Author: thebeing
Date: Mon May 15 22:40:32 2017
New Revision: 40504

URL: http://svn.gna.org/viewcvs/gnustep?rev=40504&view=rev
Log:
More expressive return codes for bus name requests

Modified:
    libs/dbuskit/trunk/Headers/DKPortNameServer.h
    libs/dbuskit/trunk/Source/DKPortNameServer.m

Modified: libs/dbuskit/trunk/Headers/DKPortNameServer.h
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/dbuskit/trunk/Headers/DKPortNameServer.h?rev=40504&r1=40503&r2=40504&view=diff
==============================================================================
--- libs/dbuskit/trunk/Headers/DKPortNameServer.h       (original)
+++ libs/dbuskit/trunk/Headers/DKPortNameServer.h       Mon May 15 22:40:32 2017
@@ -34,6 +34,31 @@
   DKPortNameFlagMax = 7
 };
 
+/**
+ * The status returned by D-Bus in response to a request to register a name.
+ */
+typedef NS_ENUM(uint32_t, DKPortNameRegistrationStatus)
+{
+  /**
+   * The port is now the primary owner of the name.
+   */
+  DKPortNamePrimaryOwner = 1,
+  /**
+   * The name has been queued and will be assigned to the port once previous
+   * registrands of the name go away.
+   */
+  DKPortNameQueued = 2,
+  /**
+   * The name is already in use by a different port, but queuing was not
+   * requested.
+   */
+  DKPortNameExists = 3,
+  /**
+   * The port had already been registered by the port. No changes occurred.
+   */
+  DKPortNameAlreadyOwner = 4
+};
+
 @interface DKPortNameServer: NSObject
 {
   @private
@@ -68,12 +93,12 @@
 
 - (DKPort*)portForName: (NSString*)name;
 
-- (BOOL)registerPort: (DKPort*)port
-                name: (NSString*)name;
+- (DKPortNameRegistrationStatus)registerPort: (DKPort*)port
+                                        name: (NSString*)name;
 
-- (BOOL)registerPort: (DKPort*)port
-                name: (NSString*)name
-               flags: (DKPortNameFlags)flags;
+- (DKPortNameRegistrationStatus)registerPort: (DKPort*)port
+                                        name: (NSString*)name
+                                       flags: (DKPortNameFlags)flags;
 
 - (void)removePortForName: (NSString*)name;
 @end

Modified: libs/dbuskit/trunk/Source/DKPortNameServer.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/dbuskit/trunk/Source/DKPortNameServer.m?rev=40504&r1=40503&r2=40504&view=diff
==============================================================================
--- libs/dbuskit/trunk/Source/DKPortNameServer.m        (original)
+++ libs/dbuskit/trunk/Source/DKPortNameServer.m        Mon May 15 22:40:32 2017
@@ -30,6 +30,7 @@
 #import <Foundation/NSDictionary.h>
 #import <Foundation/NSHashTable.h>
 #import <Foundation/NSString.h>
+#import <Foundation/NSException.h>
 
 #include <stdint.h>
 #include <dbus/dbus.h>
@@ -120,18 +121,20 @@
   return thisPort;
 }
 
-- (BOOL)registerPort: (DKPort*)port
-                name: (NSString*)name
+- (DKPortNameRegistrationStatus)registerPort: (DKPort*)port
+                                        name: (NSString*)name
 {
   return [self registerPort: port
                        name: name
                       flags: 0];
 }
-- (BOOL)registerPort: (DKPort*)port
-                name: (NSString*)name
-               flags: (DKPortNameFlags)flags
+- (DKPortNameRegistrationStatus)registerPort: (DKPort*)port
+                                        name: (NSString*)name
+                                       flags: (DKPortNameFlags)flags
 {
-  return NO;
+  [NSException raise: NSGenericException
+              format: @"Not implemented"];
+  return DKPortNameExists;
 }
 
 - (void)removePortForName: (NSString*)name


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to