Skip to content

Commit

Permalink
Add NSArray translation methods for alpm_list_t objects with strings
Browse files Browse the repository at this point in the history
Signed-off-by: Sebastian Nowicki <sebnow@gmail.com>
  • Loading branch information
sebnow committed Jan 9, 2009
1 parent 761ce5e commit 6190816
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
3 changes: 3 additions & 0 deletions NSArrayALPMListExtensions.h
Expand Up @@ -28,9 +28,12 @@
@interface NSArray (alpm_list_t)
+ (id) arrayWithPackageList:(alpm_list_t *)aList database:(PMDatabase *)theDatabase;
+ (id) arrayWithDatabaseList:(alpm_list_t *)aList;
+ (id) arrayWithStringList:(alpm_list_t *)aList;
- (id) initWithStringList:(alpm_list_t *)aList;
@end

@interface NSMutableArray (alpm_list_t)
- (id) initWithPackageList:(alpm_list_t *)aList database:(PMDatabase *)theDatabase;
- (id) initWithDatabaseList:(alpm_list_t *)aList;
- (id) initWithStringList:(alpm_list_t *)aList;
@end
36 changes: 36 additions & 0 deletions NSArrayALPMListExtensions.m
Expand Up @@ -44,6 +44,24 @@ + (id) arrayWithDatabaseList:(alpm_list_t *)aList
[tmp release];
return array;
}

+ (id) arrayWithStringList:(alpm_list_t *)aList
{
NSMutableArray *tmp;
NSArray *array;
tmp = [[NSMutableArray alloc] initWithStringList:aList];
array = [NSArray arrayWithArray:tmp];
[tmp release];
return array;
}

- (id) initWithStringList:(alpm_list_t *)aList
{
NSMutableArray *anArray;
anArray = [[NSMutableArray alloc] initWithStringList:aList];
return [self initWithArray:anArray];
}

@end

@implementation NSMutableArray (alpm_list_t)
Expand Down Expand Up @@ -82,4 +100,22 @@ - (id) initWithDatabaseList:(alpm_list_t *)aList
}
return self;
}

- (id) initWithStringList:(alpm_list_t *)aList
{
self = [self initWithCapacity:alpm_list_count(aList)];
if(self != nil) {
alpm_list_t *node;
NSString *string;

node = aList;
while(node != NULL) {
string = [[NSString alloc] initWithUTF8String:alpm_list_getdata(node)];
[self addObject:string];
[string release];
node = alpm_list_next(node);
}
}
return self;
}
@end

0 comments on commit 6190816

Please sign in to comment.