From 922d541053280857031e373eddba3843555859ce Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Thu, 6 Feb 2003 20:59:28 +0000 Subject: [PATCH] Added a new multitier request method. Fixed Feanor's lameness. --- ITAppleEventCenter.h | 1 + ITAppleEventCenter.m | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ITAppleEventCenter.h b/ITAppleEventCenter.h index d07de87..be94d4b 100755 --- a/ITAppleEventCenter.h +++ b/ITAppleEventCenter.h @@ -23,6 +23,7 @@ + (id)sharedCenter; - (NSString*)sendAEWithRequestedKey:(NSString*)key eventClass:(NSString*)eventClass eventID:(NSString*)eventID appPSN:(ProcessSerialNumber)psn; - (NSString*)sendTwoTierAEWithRequestedKey:(NSString*)key fromObjectByKey:(NSString*)object eventClass:(NSString*)eventClass eventID:(NSString*)eventID appPSN:(ProcessSerialNumber)psn; +- (NSString *)sendAEWithRequestedArray:(NSArray *)array eventClass:(NSString*)eventClass eventID:(NSString*)eventID appPSN:(ProcessSerialNumber)psn; - (void)sendAEWithEventClass:(NSString*)eventClass eventID:(NSString*)eventID appPSN:(ProcessSerialNumber)psn; - (void)printCarbonDesc:(AEDesc*)desc; @end diff --git a/ITAppleEventCenter.m b/ITAppleEventCenter.m index 6490cfc..abb1823 100755 --- a/ITAppleEventCenter.m +++ b/ITAppleEventCenter.m @@ -182,6 +182,20 @@ static ITAppleEventCenter *_sharedAECenter = nil; } } +- (NSString *)sendAEWithRequestedArray:(NSArray *)array eventClass:(NSString*)eventClass eventID:(NSString*)eventID appPSN:(ProcessSerialNumber)psn +{ + //Build the send string + NSString *curString = [NSString stringWithFormat:@"{ form:'prop', want:type('prop'), seld:type('%s'), from:'null'() }", [[array objectAtIndex:0] UTF8String]]; + int i; + for (i = 1; i < [array count]; i++) { + NSString *from = [NSString stringWithFormat:@"{ form:'prop', want:type('prop'), seld:type('%s'), from:obj %@ }", + [[array objectAtIndex:i] UTF8String], curString]; + curString = from; + NSLog(@"%@", from); + } + curString = [@"'----':obj " stringByAppendingString:curString]; + return curString; +} - (void)sendAEWithEventClass:(NSString*)eventClass eventID:(NSString*)eventID appPSN:(ProcessSerialNumber)psn { @@ -192,7 +206,7 @@ static ITAppleEventCenter *_sharedAECenter = nil; AEEventID eID = *((unsigned long*)[eventID UTF8String]); AppleEvent event, reply; - AECreateAppleEvent(eClass, eID, typeProcessSerialNumber,(ProcessSerialNumber*)&psn, sizeof(ProcessSerialNumber), kAutoGenerateReturnID, kAnyTransactionID, &event); + AEBuildAppleEvent(eClass, eID, typeProcessSerialNumber,(ProcessSerialNumber*)&psn, sizeof(ProcessSerialNumber), kAutoGenerateReturnID, kAnyTransactionID, &event, nil, ""); AESend(&event, &reply, kAENoReply, kAENormalPriority, kAEDefaultTimeout, nil, nil); -- 2.20.1