FRAMechanismFactory.h revision 9ebd9a731316dfd624ce3bcc4ea6519d10899936
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott/*
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * The contents of this file are subject to the terms of the Common Development and
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * Distribution License (the License). You may not use this file except in compliance with the
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * License.
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott *
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * specific language governing permission and limitations under the License.
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott *
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * When distributing Covered Software, include this CDDL Header Notice in each file and include
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * Header, with the fields enclosed by brackets [] replaced by your own identifying
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * information: "Portions copyright [year] [name of copyright owner]".
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott *
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott * Copyright 2016 ForgeRock AS.
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott */
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings#import "FRAMechanism.h"
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings#import "FRAIdentityModel.h"
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings#ifndef FRAMechanismFactory_h
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings#define FRAMechanismFactory_h
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott
415243fbc81341293a852ff6aa14e9608d08685cCraig McDonnell
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings#endif /* FRAMechanismFactory_h */
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings@protocol FRAMechanismFactory
415243fbc81341293a852ff6aa14e9608d08685cCraig McDonnell
415243fbc81341293a852ff6aa14e9608d08685cCraig McDonnell/*!
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * Build a FRA Mechanism object using the database and the model provided
415243fbc81341293a852ff6aa14e9608d08685cCraig McDonnell *
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * @param uri the uri string contianing the mechanism informaiton
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * @param database the database to eprsist the new mechanism to
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * @param model the identity model to place the new mechanism into
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott */
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings- (FRAMechanism *) buildMechanism:(NSURL *)uri database:(FRAIdentityDatabase *)database model:(FRAIdentityModel *)model;
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott/*!
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * Gets whether this FRAMechanismFactory supports the mechnaism type in the given uri
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott *
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * @param uri the uri string contianing the mechanism informaiton
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott */
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings- (bool) supports:(NSURL *)uri;
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott/*!
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings * Gets the supproted protocol for the FRAMechanism FRAMechanismFactory
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott */
9ebd9a731316dfd624ce3bcc4ea6519d10899936Ken Stubbings- (NSString *) getSupportedProtocol;
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott
91f0e3cb60de3eba8cbb70c7e36cc0df22d71f5bRobert Wapshott@end