Posted on 10월 1, 2008 at 6:21 오후
C4TaskLauncher
안녕하세요! Code4Mac 입니다. 첫 포스팅부터 코드를 적게 되었네요.
이번에 소개해 드리려는 프레임워크는 커맨드행 명령어들을 GUI에서 쉽게 사용할 수 있도록 도움을 주는 녀석입니다. 헤더파일(C4TaskLauncher.h)을 살펴보며 하나씩 보기로 하죠.
-
- (id) init;
-
- (id) initWithTooPath:(NSString *)aToolPath andArguments:(NSArray *)Arguments;
-
- (void) dealloc;
-
- (NSString *) toolPath;
-
- (void) setToolPath:(NSString *)aToolPath;
-
- (NSArray *) arguments;
-
- (void) setArguments:(NSArray *)Arguments;
-
- (BOOL) canTaskStart;
-
- (BOOL) startTask:(NSString **)errMsg;
-
- (void) stopTask;
-
- (void) sendCommand:(NSString *)aCommand;
사용은 위의 함수들을 이용하면 됩니다.
init과 setToolPath:, setArguments:(혹은 iniWithToolPath:andArguments:)로 초기화를 하고 C4TaskLauncher에 startTask: 메시지를 보내면 됩니다. 진행상황에 대한 에러를 알기 위해 errMsg는 꼭! 지정해줘야 합니다. startTask: 메시지가 NO 를 리턴하게되면, errMsg의 내용을 보아 어디서 문제가 발생했는지 알 수 있습니다.
동작 중인 명령어를 종료할 때는 stopTask 메시지를 이용하면 되겠습니다.
대화형 명령행 애플리케이션의 경우 sendCommand: 메시지를 이용하여 명령어를 보낼 수 있습니다. 결과물은 마찬가지로 델리게이트를 통해 가져오면 되겠지요?
아래에 델리게이트에 대해 설명을 할게요!
-
- (void) setDelegate:(id)delegate;
-
@interface NSObject (C4TaskLauncherDelegate)
-
- (void) taskFinished;
-
- (void) result:(NSString *)string;
-
@end
C4TaskLauncher를 초기화한 후에, setDelegate:를 통해 델리게이트를 구현한 객체를 지정해주면 됩니다. C4TaskLuancher가 델리게이트로 보내는 메시지는 taskFinished와 result: 2개 입니다. taskFinished는 말 그대로 명령어가 종료되었음을 알려주고, result:는 명령어의 결과, 혹은 sendCommand:로 보낸 명령의 결과를 알려줍니다. 구현하지 않아도 되지만, 그렇게하면 애플리케이션 실행 결과를 알 수 없겠지요?
C4TaskLauncher Framework Download

.png)
