| Index: class-dump/src/CDSection.m
|
| ===================================================================
|
| --- class-dump/src/CDSection.m (revision 0)
|
| +++ class-dump/src/CDSection.m (revision 0)
|
| @@ -0,0 +1,124 @@
|
| +// -*- mode: ObjC -*-
|
| +
|
| +// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files.
|
| +// Copyright (C) 1997-1998, 2000-2001, 2004-2010 Steve Nygard.
|
| +
|
| +#import "CDSection.h"
|
| +
|
| +#import "CDFatFile.h"
|
| +#import "CDMachOFile.h"
|
| +#import "CDLCSegment32.h"
|
| +
|
| +@implementation CDSection
|
| +
|
| +// Just to resolve multiple different definitions...
|
| +- (id)init;
|
| +{
|
| + if ([super init] == nil)
|
| + return nil;
|
| +
|
| + segmentName = nil;
|
| + sectionName = nil;
|
| +
|
| + data = nil;
|
| + _flags.hasLoadedData = NO;
|
| +
|
| + return self;
|
| +}
|
| +
|
| +- (void)dealloc;
|
| +{
|
| + [segmentName release];
|
| + [sectionName release];
|
| + [data release];
|
| +
|
| + [super dealloc];
|
| +}
|
| +
|
| +- (NSString *)segmentName;
|
| +{
|
| + return segmentName;
|
| +}
|
| +
|
| +- (void)setSegmentName:(NSString *)newName;
|
| +{
|
| + if (newName == segmentName)
|
| + return;
|
| +
|
| + [segmentName release];
|
| + segmentName = [newName retain];
|
| +}
|
| +
|
| +- (NSString *)sectionName;
|
| +{
|
| + return sectionName;
|
| +}
|
| +
|
| +- (void)setSectionName:(NSString *)newName;
|
| +{
|
| + if (newName == sectionName)
|
| + return;
|
| +
|
| + [sectionName release];
|
| + sectionName = [newName retain];
|
| +}
|
| +
|
| +- (NSData *)data;
|
| +{
|
| + [self loadData];
|
| +
|
| + return data;
|
| +}
|
| +
|
| +- (void)loadData;
|
| +{
|
| + // Impelement in subclasses
|
| +}
|
| +
|
| +- (void)unloadData;
|
| +{
|
| + if (_flags.hasLoadedData) {
|
| + _flags.hasLoadedData = NO;
|
| + [data release];
|
| + data = nil;
|
| + }
|
| +}
|
| +
|
| +- (NSUInteger)addr;
|
| +{
|
| + // Implement in subclasses.
|
| + return 0;
|
| +}
|
| +
|
| +- (NSUInteger)size;
|
| +{
|
| + // Implement in subclasses.
|
| + return 0;
|
| +}
|
| +
|
| +- (CDMachOFile *)machOFile;
|
| +{
|
| + // Implement in subclass (for now).
|
| + return nil;
|
| +}
|
| +
|
| +- (NSString *)description;
|
| +{
|
| + return [NSString stringWithFormat:@"<%@:%p> segment; '%@', section: '%-16s'",
|
| + NSStringFromClass([self class]), self,
|
| + segmentName, [sectionName UTF8String]];
|
| +}
|
| +
|
| +- (BOOL)containsAddress:(NSUInteger)address;
|
| +{
|
| + // implement in subclasses.
|
| + return NO;
|
| +}
|
| +
|
| +- (NSUInteger)fileOffsetForAddress:(NSUInteger)address;
|
| +{
|
| + // implement in subclasses.
|
| + return 0;
|
| +}
|
| +
|
| +@end
|
|
|
| Property changes on: class-dump/src/CDSection.m
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|