]> git.lyx.org Git - lyx.git/blobdiff - src/support/linkback/LinkBack.m
correct format for unsigned long argument, remoteCloseLink is oneway void
[lyx.git] / src / support / linkback / LinkBack.m
index 86694bed8a9b01ef10e9ae8b4b6d1513d3165e61..66febfac8edbaa581848bc39e3932191b2040f3e 100644 (file)
@@ -71,7 +71,7 @@ NSString* LinkBackUniqueItemKey()
        
        NSString* base = [[NSBundle mainBundle] bundleIdentifier] ;
        unsigned long time = [NSDate timeIntervalSinceReferenceDate] ;
-       return [NSString stringWithFormat: @"%@%.8x.%.4x",base,time,counter++] ;
+       return [NSString stringWithFormat: @"%@%.8lx.%.4x",base,time,counter++] ;
 }
 
 BOOL LinkBackDataBelongsToActiveApplication(id data) 
@@ -103,7 +103,7 @@ NSString* LinkBackEditNoneMenuTitle()
 
 + (NSDictionary*)linkBackDataWithServerName:(NSString*)serverName appData:(id)appData 
 {
-       return [self linkBackDataWithServerName: serverName appData: appData actionName: nil suggestedRefreshRate: 0];
+       return [self linkBackDataWithServerName: serverName appData: appData actionName: nil suggestedRefreshRate: (float)0];
 }
 
 + (NSDictionary*)linkBackDataWithServerName:(NSString*)serverName appData:(id)appData suggestedRefreshRate:(NSTimeInterval)rate 
@@ -111,7 +111,7 @@ NSString* LinkBackEditNoneMenuTitle()
        return [self linkBackDataWithServerName: serverName appData: appData actionName: LinkBackRefreshActionName suggestedRefreshRate: rate] ;
 }
 
-+ (NSDictionary*)linkBackDataWithServerName:(NSString*)serverName appData:(id)appData actionName:(NSString*)action suggestedRefreshRate:(NSTimeInterval)rate ;
++ (NSDictionary*)linkBackDataWithServerName:(NSString*)serverName appData:(id)appData actionName:(NSString*)action suggestedRefreshRate:(NSTimeInterval)rate
 {
        NSDictionary* appInfo = [[NSBundle mainBundle] infoDictionary] ;
 
@@ -133,7 +133,7 @@ NSString* LinkBackEditNoneMenuTitle()
        if (action) [ret setObject: action forKey: LinkBackServerActionKey] ;
        if (appData) [ret setObject: appData forKey: LinkBackApplicationDataKey] ;
        if (url) [ret setObject: url forKey: LinkBackApplicationURLKey] ;
-       [ret setObject: [NSNumber numberWithFloat: rate] forKey: LinkBackSuggestedRefreshKey] ;
+       [ret setObject: [NSNumber numberWithDouble: rate] forKey: LinkBackSuggestedRefreshKey] ;
        
        return [ret autorelease] ;
 }
@@ -236,7 +236,7 @@ NSMutableDictionary* keyedLinkBacks = nil ;
        return self ;
 }
 
-- (id)initClientWithSourceName:(NSString*)aName delegate:(id<LinkBackClientDelegate>)aDel itemKey:(NSString*)aKey ;
+- (id)initClientWithSourceName:(NSString*)aName delegate:(id<LinkBackClientDelegate>)aDel itemKey:(NSString*)aKey
 {
        if ((self = [super init])) {
                isServer = NO ;
@@ -313,7 +313,7 @@ NSMutableDictionary* keyedLinkBacks = nil ;
 }
 
 // this method is called whenever the link is about to be or has been closed by the other side.
-- (void)remoteCloseLink 
+- (oneway void)remoteCloseLink 
 {
        if (peer) {
                [peer release] ;
@@ -364,30 +364,27 @@ NSMutableDictionary* keyedLinkBacks = nil ;
        LinkBack* ret = [keyedLinkBacks objectForKey: aKey] ;
        
        if(nil==ret) {
-               BOOL ok ;
-               NSString* serverName = nil ;
-               NSString* serverId = nil ;
-               NSString* appName = nil ;
-               NSURL* url = nil ;
+               BOOL ok = [data isKindOfClass: [NSDictionary class]] ;
                
-               // collect server contact information from data.
-               ok = [data isKindOfClass: [NSDictionary class]] ;
                if (ok) {
-                       serverName = [data objectForKey: LinkBackServerNameKey] ;
-                       serverId = [data objectForKey: LinkBackServerBundleIdentifierKey];
-                       appName = [data linkBackSourceApplicationName] ;
-                       url = [data linkBackApplicationURL] ;
-               }
-               
-               if (!ok || !serverName || !serverId)
-                       [NSException raise: NSInvalidArgumentException format: @"LinkBackData is not of the correct format: %@", data] ;
+                       // collect server contact information from data.
+                       NSString* serverName = [data objectForKey: LinkBackServerNameKey] ;
+                       NSString* serverId = [data objectForKey: LinkBackServerBundleIdentifierKey];
+                       NSString* appName = [data linkBackSourceApplicationName] ;
+                       NSURL* url = [data linkBackApplicationURL] ;
 
-               // create the live link object and try to connect to the server.
-               ret = [[LinkBack alloc] initClientWithSourceName: aName delegate: del itemKey: aKey] ;
+                       if ( !serverName || !serverId)
+                               [NSException raise: NSInvalidArgumentException format: @"LinkBackData is not of the correct format: %@", data] ;
+
+                       // create the live link object and try to connect to the server.
+                       ret = [[LinkBack alloc] initClientWithSourceName: aName delegate: del itemKey: aKey] ;
                
-               if (![ret connectToServerWithName: serverName inApplication: serverId fallbackURL: url appName: appName]) {
-                       [ret release] ;
-                       ret = nil ;
+                       if (![ret connectToServerWithName: serverName inApplication: serverId fallbackURL: url appName: appName]) {
+                               [ret release] ;
+                               ret = nil ;
+                       }
+               } else {
+                       [NSException raise: NSInvalidArgumentException format: @"LinkBackData is not of the correct format: %@", data] ;
                }
        }
        
@@ -401,9 +398,6 @@ NSMutableDictionary* keyedLinkBacks = nil ;
                [ret requestEdit] ;
                
        // if connection to server failed, return nil.
-       } else {
-               [ret release] ;
-               ret = nil ;
        }
 
        return ret ;