1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#import "STEnvironmentProcess.h"
#import <Foundation/NSString.h>
#import <StepTalk/STEnvironment.h>
#import <StepTalk/STEnvironmentDescription.h>
@implementation STEnvironmentProcess
- initWithDescriptionName:(NSString *)descName
{
if ((self = [super init]) != nil)
{
STEnvironmentDescription *desc;
if (descName)
{
NSLog(@"Creating environment from description '%@'", descName);
desc = [STEnvironmentDescription descriptionWithName:descName];
environment = [[STEnvironment alloc] initWithDescription:desc];
}
else
{
environment = [[STEnvironment alloc] initWithDefaultDescription];
}
/* FIXME: use some configurable mechanism */
[environment setObject:environment forName:@"Environment"];
[environment loadModule:@"SimpleTranscript"];
}
return self;
}
- (void)dealloc
{
RELEASE(environment);
[super dealloc];
}
- (STConversation *)createConversation
{
STConversation *conversation;
conversation = [[STConversation alloc] initWithContext:environment
language:nil];
/* FIXME: create list of open conversations */
return AUTORELEASE(conversation);
}
@end
|