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:
//
//  DEServerManagerFactory.h
//  DEMotifConnectorFramework
//
//  Created by Marco Bonati on 03/02/2017.
//  Copyright © 2017 Vipera. All rights reserved.
//

#ifndef DEServerManagerFactory_h
#define DEServerManagerFactory_h

#import "DEMotifConnectorConfiguration.h"
#import "IDEServerManager.h"

/**
  This class is used as factory for any instance of **IDEServerManager**.
 
  **Important**: don't use any direct instantion of IDEServerManager, use this factory instead.
 */
@interface DEServerManagerFactory : NSObject

/**
 Returns a default instance of DEServerManagerFactory.
 @return DEServerManagerFactory
 */
+(DEServerManagerFactory*)defaultInstance;

/**
 Initialize a default instance of DEServerManagerFactory with a share configuration.
 @param configuration A DEMotifConnectorConfiguration used to initialize the shared instance
 @return DEServerManagerFactory
 */
+(DEServerManagerFactory*)initWithSharedConfiguration:(id<DEMotifConnectorConfiguration>)configuration;

/**
 Returns a shared instance of IDEServerManager.
 @return IDEServerManager
 */
-(id<IDEServerManager>)shared;

/**
 Creates a new instance of IDEServerManager with the given configuration.
 @param configuration A DEMotifConnectorConfiguration used to initialize the new IDEServerManager instance
 @return IDEServerManager
 */
-(id<IDEServerManager>)createNewWithConfiguration:(id<DEMotifConnectorConfiguration>)configuration;

/**
 Returns a shared instance of DEMotifConnectorConfiguration.
 @return DEMotifConnectorConfiguration
 */
-(id<DEMotifConnectorConfiguration>)sharedConfiguration;

@end

#endif /* DEServerManagerFactory_h */