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:
//
//  IDEServerManager.h
//  DynamicEngine
//
//  Created by Mobile3D on 11/05/16.
//  Copyright © 2016 Vipera. All rights reserved.
//

#ifndef IDEServerManager_h
#define IDEServerManager_h

#import "IDEServerManagerDelegate.h"
#import "IDEServerRequest.h"
#import "IDEServerManagerDownloadDelegate.h"
#import "DEMotifConnectorConfiguration.h"

@class DEServerRequest;

@protocol IDEServerManager <NSObject>


/**
 *  Builds an instance of the Server Manager with the ginven configuration
 *
 *  @param id<DEMotifConnectorConfiguration> The connector configuration.
 *
 *  @return A server request.
 */
- (id<IDEServerManager>)initWithConfiguration:(id<DEMotifConnectorConfiguration>)configuration;

/**
 *  Builds a server request. It will be posted as a JSON to the server.
 *
 *  @param dictionary The dictionary representing the content of the post request.
 *
 *  @return A server request.
 */
- (id<IDEServerRequest>) buildServerRequestWithDictionary:(NSDictionary *) dictionary;

/**
 *  Posts a request to the server.
 *
 *  @param serverRequest The server request.
 *  @param delegate      The delegate that will be informed of the result.
 */
- (void) executeRequestWithRequest:(id<IDEServerRequest>) serverRequest delegate:(id<IDEServerManagerDelegate>) delegate;

/**
 *  Posts a download request to the server.
 *
 *  @param serverRequest The server request.
 *  @param delegate      The delegate that will be informed of the result.
 */
- (void)downloadRequestWithRequest:(id<IDEServerRequest>)serverRequest andDelegate:(id<IDEServerManagerDownloadDelegate>)delegate;

@end


#endif /* IDEServerManager_h */