Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
//
//  DEMotifConnectorConfiguration.h
//  DEMotifConnectorFramework
//
//  Created by Marco Bonati on 03/02/2017.
//  Copyright © 2017 Vipera. All rights reserved.
//

#ifndef DEMotifConnectorConfiguration_h
#define DEMotifConnectorConfiguration_h

#import <Foundation/Foundation.h>
#import "DECertificatePinningConfiguration.h"

@protocol DEMotifConnectorConfiguration <NSObject>

#pragma mark -
#pragma mark Server Configuration
/**
 *  The server address where the web requests will be posted. Do not include the path as there is a specific configuration for that.
 */
- (NSString *) serverAddress;

/**
 * Allows to accepts selft signed certificates WARN: don't use this in PRODUCTION Environment! This is only for debugging pourpose
 */
- (BOOL) allowsInvalidSSLCertificate;

/**
 *  The path on the server where to execute the post requests.
 */
- (NSString *) serverPostPath;

/**
 *  The time to wait before having a data timeout. In seconds.
 */
- (double) serverTimeoutSeconds;

/**
 *  Number of times thet a request can be executed before returning an error.
 */
- (NSInteger) serverRequestTryCount;

/**
 *  The amount of time to wait after an error accurs before retrying the server request. In milliseconds.
 */
- (double) serverRequestRetryDelayMillis;

/**
 *  Enable or disable the E2E Encryption protocol.
 */
- (BOOL) end2EndEncryptionEnabled;

/**
 *  Enable or disable the E2E Encryption protocol for the Asset Update phase.
 */
- (BOOL) end2EndEncryptionAssetUpdateEnabled;

/**
 *  Enable or disable the E2E Encryption protocol logging.
 */
- (BOOL) end2EndEncryptionDebugEnabled;

/**
 * Returns a certificate pinning configuration if needed
 **/
- (id<DECertificatePinningConfiguration>) certificatePinningConfiguration;

/**
 * manages the state of the network activity indicator in the status bar. When enabled, it will listen for notifications indicating that a network request
 * operation has started or finished, and start or stop animating the indicator accordingly. The number of active requests is incremented and decremented
 * much like a stack or a semaphore, and the activity indicator will animate so long as that number is greater than zero.
 */
- (BOOL) activityIndicatorEnabled;

- (BOOL) allowsVPN;

@end

#endif /* DEMotifConnectorConfiguration_h */