FRAPushMechanism.m revision 465ea459a87d4605e145d8f45b6a9c104b696e3b
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk/*
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * The contents of this file are subject to the terms of the Common Development and
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * Distribution License (the License). You may not use this file except in compliance with the
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * License.
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk *
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * specific language governing permission and limitations under the License.
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk *
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * When distributing Covered Software, include this CDDL Header Notice in each file and include
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * Header, with the fields enclosed by brackets [] replaced by your own identifying
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * information: "Portions copyright [year] [name of copyright owner]".
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk *
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk * Copyright 2016 ForgeRock AS.
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk */
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk#import "FRAPushMechanism.h"
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk@implementation FRAPushMechanism
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk#pragma mark -
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk#pragma mark Lifecyle
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk// Testing only?
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk- (instancetype)initWithDatabase:(FRAIdentityDatabase *)database {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return [self initWithDatabase:database authEndpoint:nil secret:nil version:1 mechanismIdentifier:[NSUUID UUID].UUIDString];
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk- (instancetype)initWithDatabase:(FRAIdentityDatabase *)database authEndpoint:(NSString *)authEndPoint secret:(NSString *)secret {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return [self initWithDatabase:database authEndpoint:authEndPoint secret:secret version:1 mechanismIdentifier:[NSUUID UUID].UUIDString];
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk- (instancetype)initWithDatabase:(FRAIdentityDatabase *)database authEndpoint:(NSString *)authEndPoint secret:(NSString *)secret version:(NSInteger)version mechanismIdentifier:(NSString *)mechanismIdentifier{
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk self = [super initWithDatabase:database];
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk if (self) {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk _version = version;
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk _authEndpoint = authEndPoint;
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk _secret = secret;
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk _type = @"push";
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk _mechanismUID = mechanismIdentifier;
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk }
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return self;
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk// Testing only?
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk+ (instancetype)pushMechanismWithDatabase:(FRAIdentityDatabase *)database {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return [[FRAPushMechanism alloc] initWithDatabase:database];
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk+ (instancetype)pushMechanismWithDatabase:(FRAIdentityDatabase *)database authEndpoint:(NSString *)authEndPoint secret:(NSString *)secret version:(NSInteger)version mechanismIdentifier:(NSString *)mechanismIdentifier{
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return [[FRAPushMechanism alloc] initWithDatabase:database authEndpoint:authEndPoint secret:secret version:version mechanismIdentifier:mechanismIdentifier];
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk+ (instancetype)pushMechanismWithDatabase:(FRAIdentityDatabase *)database authEndpoint:(NSString *)authEndPoint secret:(NSString *)secret {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return [[FRAPushMechanism alloc] initWithDatabase:database authEndpoint:authEndPoint secret:secret];
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk@end
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk