@implementation MuTapResult
-(void) switchCaseInternal:(void (^)(MuTapResultInternalLink *))internalLinkBlock caseExternal:(void (^)(MuTapResultExternalLink *))externalLinkBlock caseRemote:(void (^)(MuTapResultRemoteLink *))remoteLinkBlock caseWidget:(void (^)(MuTapResultWidget *))widgetBlock caseAnnotation:(void (^)(MuTapResultAnnotation *))annotationBlock {}
@end
@implementation MuTapResultInternalLink
{
int pageNumber;
}
@synthesize pageNumber;
-(id) initWithPageNumber:(int)aNumber
{
self = [super init];
if (self)
{
pageNumber = aNumber;
}
return self;
}
-(void) switchCaseInternal:(void (^)(MuTapResultInternalLink *))internalLinkBlock caseExternal:(void (^)(MuTapResultExternalLink *))externalLinkBlock caseRemote:(void (^)(MuTapResultRemoteLink *))remoteLinkBlock caseWidget:(void (^)(MuTapResultWidget *))widgetBlock caseAnnotation:(void (^)(MuTapResultAnnotation *))annotationBlock
{
internalLinkBlock(self);
}
@end
@implementation MuTapResultExternalLink
{
NSString *url;
}
@synthesize url;
-(id) initWithUrl:(NSString *)aString
{
self = [super init];
if (self)
{
url = [aString retain];
}
return self;
}
-(void) dealloc
{
[url release];
[super dealloc];
}
-(void) switchCaseInternal:(void (^)(MuTapResultInternalLink *))internalLinkBlock caseExternal:(void (^)(MuTapResultExternalLink *))externalLinkBlock caseRemote:(void (^)(MuTapResultRemoteLink *))remoteLinkBlock caseWidget:(void (^)(MuTapResultWidget *))widgetBlock caseAnnotation:(void (^)(MuTapResultAnnotation *))annotationBlock
{
externalLinkBlock(self);
}
@end
@implementation MuTapResultRemoteLink
{
NSString *fileSpec;
int pageNumber;
BOOL newWindow;
}
@synthesize fileSpec, pageNumber, newWindow;
-(id) initWithFileSpec:(NSString *)aString pageNumber:(int)aNumber newWindow:(BOOL)aBool
{
self = [super init];
if (self)
{
fileSpec = [aString retain];
pageNumber = aNumber;
newWindow = aBool;
}
return self;
}
-(void) dealloc
{
[fileSpec release];
[super dealloc];
}
-(void) switchCaseInternal:(void (^)(MuTapResultInternalLink *))internalLinkBlock caseExternal:(void (^)(MuTapResultExternalLink *))externalLinkBlock caseRemote:(void (^)(MuTapResultRemoteLink *))remoteLinkBlock caseWidget:(void (^)(MuTapResultWidget *))widgetBlock caseAnnotation:(void (^)(MuTapResultAnnotation *))annotationBlock
{
remoteLinkBlock(self);
}
@end
@implementation MuTapResultWidget
-(void) switchCaseInternal:(void (^)(MuTapResultInternalLink *))internalLinkBlock caseExternal:(void (^)(MuTapResultExternalLink *))externalLinkBlock caseRemote:(void (^)(MuTapResultRemoteLink *))remoteLinkBlock caseWidget:(void (^)(MuTapResultWidget *))widgetBlock caseAnnotation:(void (^)(MuTapResultAnnotation *))annotationBlock
{
widgetBlock(self);
}
@end
@implementation MuTapResultAnnotation
{
MuAnnotation *annot;
}
@synthesize annot;
-(id) initWithAnnotation:(MuAnnotation *)aAnnot
{
self = [super init];
if (self)
{
annot = [aAnnot retain];
}
return self;
}
-(void) dealloc
{
[annot release];
[super dealloc];
}
-(void) switchCaseInternal:(void (^)(MuTapResultInternalLink *))internalLinkBlock caseExternal:(void (^)(MuTapResultExternalLink *))externalLinkBlock caseRemote:(void (^)(MuTapResultRemoteLink *))remoteLinkBlock caseWidget:(void (^)(MuTapResultWidget *))widgetBlock caseAnnotation:(void (^)(MuTapResultAnnotation *))annotationBlock
{
annotationBlock(self);
}
@end