Hi all

I'm new to Objective-C and Cocoa and I am having trouble with the notifications 
system.  This I thought was just a small project to write a native mac program 
to continuously read and write data from a serial port to a file.  It was 
suggested I use NSFileHandle to maintain safe threads, as it can read the 
serial port asynchronously; I had hoped this program would read the text file, 
and as I changed it, there would be an output to the console.  Something simple 
to see the notification system in action:

//CODE

#import <Cocoa/Cocoa.h>
#import <Foundation/NSFileHandle.h>
#import <Foundation/NSString.h>
#import <Foundation/NSNotificationCenter.h>
#import <stdio.h>

@interface test : NSObject

-(void) writeDataReadInBackground:(NSNotification *)notification;
-(void) testWriteData:(NSData *)data;

@end

int main(int argc, char *argv[])
{

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSData *aData = [@"Test" dataUsingEncoding: NSASCIIStringEncoding];
    NSFileHandle *in = [NSFileHandle 
fileHandleForReadingAtPath:@"/Users/_me_/test.txt"];
   
    if(in == nil)
        printf("somethig wrong\n");
   
    test *t = [[test alloc] init];
   
    [[NSNotificationCenter defaultCenter] addObserver: t 
selector:@selector(writeDataReadInBackground:) name: 
NSFileHandleDataAvailableNotification object: nil];
 
    [t testWriteData: aData];
    [in waitForDataInBackgroundAndNotify];
   
    while(1)
        sleep(5);
   
    [t release];
    [pool release];
   
    return 0;
}

@implementation test
- (void) writeDataReadInBackground:(NSNotification *)notification {
   
    printf("Notification recieved\n");
    }
   
- (void) testWriteData:(NSData *)data {

        NSFileHandle *stdOut = [NSFileHandle fileHandleWithStandardOutput];
       
        [stdOut writeData:data];
       
    }
@end

//END_CODE

Thanks for your help

Nathan

PS  What's the proper way to work between NSString and NSData?
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to