aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/utils/NSSet+MCO.mm
blob: 690cfe77ce8cc36e59a627906f4d4b56b685f4c2 (plain)
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
//
//  NSSet+MCO.m
//  mailcore2
//
//  Created by Hoa V. DINH on 1/29/14.
//  Copyright (c) 2014 MailCore. All rights reserved.
//

#import "NSSet+MCO.h"

#include "MCSet.h"
#include "MCArray.h"
#import "NSObject+MCO.h"

@implementation NSSet (MCO)

+ (id) mco_objectWithMCObject:(mailcore::Object *)object
{
    return [self mco_setWithMCSet:(mailcore::Set *) object];
}

+ (NSSet *) mco_setWithMCSet:(mailcore::Set *)cppSet
{
    if (cppSet == NULL)
        return nil;
    
    NSMutableSet * result = [NSMutableSet set];
    mailcore::Array * array = cppSet->allObjects();
    for(unsigned int i = 0 ; i < array->count() ; i ++) {
        [result addObject:[NSObject mco_objectWithMCObject:array->objectAtIndex(i)]];
    }
    return result;
}

- (mailcore::Set *) mco_mcSet
{
    mailcore::Set * result = mailcore::Set::set();
    NSArray * array = [self allObjects];
    for(unsigned int i = 0 ; i < [array count] ; i ++) {
        result->addObject([[array objectAtIndex:i] mco_mcObject]);
    }
    return result;
}

@end