Hopefully this will help you. Sorry for the bad formatting... trying out Opera.
[ObjectiveCMessage("init")] public override Id Init() { ObjectiveCRuntime.SendMessageSuper<IntPtr>(this, ControllerClass, "init"); NSNotificationCenter.DefaultCenter.AddObserverSelectorNameObject(this, ObjectiveCRuntime.Selector("doAuth:"), "doAuth", null); return this; } [ObjectiveCMessage("doAuth:")] public void SelectionChanged(NSNotification notification) { NSArray loginParms = notification.UserInfo.ObjectForKey(new NSString("params")).CastTo<NSArray>(); Session.DoAuthenticate(loginParms[0].CastTo<NSString>(), loginParms[1].CastTo<NSString>()); } In the .m: NSString *username = [usernameTextField stringValue]; NSString *password = [passwordTextField stringValue]; NSArray *loginParams = [NSArray arrayWithObjects:username, password, nil]; NSDictionary* dict = [NSDictionary dictionaryWithObject:loginParams forKey:@"params"]; NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; [nc postNotificationName:@"doAuth" object:nil userInfo:dict]; Duane On Thu, Oct 9, 2008 at 9:22 AM, Miguel De Buf <[EMAIL PROTECTED]>wrote: > Hi, > > I am trying to use NSDistributedNotificationCenter to send a notification > to a listener application. I am stuck since I do not know what to pass to > the AddObserverSelectorNameObject() function. I could not find an example or > more info on how to use this function. Here is my code (which fails to > compile) : > > using System; > using System.Collections.Generic; > using System.Text; > > using Monobjc; > using Monobjc.Cocoa; > > namespace ipc_listener > { > class Program : NSObject > { > private static Listener l = null; > > static void Main(string[] args) > { > ObjectiveCRuntime.LoadFramework("Cocoa"); > ObjectiveCRuntime.Initialize(); > NSApplication.Initialize(); > > l = new Listener(); > l.run(); > > NSApplication.RunApplication(); > } > } > > class Listener : NSObject > { > private NSNotificationCenter nc = null; > private delegate void NotificationHandler(NSNotification n); > > public void run() > { > nc = NSDistributedNotificationCenter.DefaultCenter; > NotificationHandler h = handler; > > nc.AddObserverSelectorNameObject((Id)this, h, (NSString)null, > (Id)null); > } > > void handler(NSNotification n) > { > Console.WriteLine("name=" + n.Name); > } > } > } > > > What fails is the nc.AddObserverSelectorNameObject() call, since the > delegate h cannot be converted to an IntPtr. I have no idea what that > IntPtr actially represents. I am sorry if this is a simple question, but I > am very new to MacOSX programming and Cocoa, and do not know ObjC at all. > > Many thanks, > Miguel > > -- > > > *Miguel De Buf* > Chief Technology Officer > Aventiv NV, creators of NomaDesk(R) <http://www.NomaDesk.com/> > Tel. +32 9 233 68 86 (*Belgium*) > Fax +32 9 240 10 39 (*Belgium*) > [EMAIL PROTECTED] > > Confidentiality Notice: > *This message, together with any attachments, is intended only for the use > of the individual or entity to which it is addressed. It may contain > information that is confidential and prohibited from disclosure. If you are > not the intended recipient, you are hereby notified that any dissemination > or copying of this message or any attachment is strictly prohibited. If you > have received this item in error, please notify the original sender and > destroy this item, along with any attachments.* > > >