FRAIdentityModel.m revision 12e7a579c676ce6e5d1a822557813542d7687d11
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * The contents of this file are subject to the terms of the Common Development and
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * Distribution License (the License). You may not use this file except in compliance with the
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * specific language governing permission and limitations under the License.
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * When distributing Covered Software, include this CDDL Header Notice in each file and include
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * Header, with the fields enclosed by brackets [] replaced by your own identifying
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * information: "Portions copyright [year] [name of copyright owner]".
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * Copyright 2016 ForgeRock AS.
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAFMDatabaseConnectionHelper.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAIdentity.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAIdentityDatabase.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAIdentityDatabaseSQLiteOperations.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAIdentityModel.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAMechanism.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRANotification.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAModelsFromDatabase.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAPushMechanism.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell#import "FRAModelObjectProtected.h"
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * Private interface.
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell * The database to which this object graph is persisted.
f48118365a7f4f1240516dbe66e47b24a896ff16Craig McDonnell@property (strong, nonatomic) FRAIdentityDatabase *database;
@end
- (instancetype)initWithDatabase:(FRAIdentityDatabase *)database sqlDatabase:(FRAFMDatabaseConnectionHelper *) sql {
NSArray<FRAIdentity*> *identities = [FRAModelsFromDatabase allIdentitiesWithDatabase:sql identityDatabase:database identityModel:self error:&error];
if (!identities) {
return nil;
return self;
if ([identity.issuer isEqualToString:issuer] && [identity.accountName isEqualToString:accountName]) {
return identity;
return nil;
if ([mechanism isKindOfClass:[FRAPushMechanism class]] && [((FRAPushMechanism *)mechanism).mechanismUID isEqualToString: uid]) {
return mechanism;
return nil;
return count;
@end