using System;
using System.Collections.Generic;
using System.Text;
namespace OSGeo.MapGuide.MaestroAPI
{
///
/// Helper class to create well known objects
///
public sealed class ConnectionFactory
{
///
/// Creates a HTTP implementation of
///
///
///
///
///
///
public static ServerConnectionI CreateHttpConnection(Uri hosturl, string sessionid, string locale, bool allowUntestedVersion)
{
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
builder[HttpServerConnection.PARAM_URL] = hosturl.ToString();
builder[HttpServerConnection.PARAM_SESSION] = sessionid;
builder[HttpServerConnection.PARAM_UNTESTED] = allowUntestedVersion;
string connStr = string.Empty;
if (!string.IsNullOrEmpty(locale))
{
builder[HttpServerConnection.PARAM_LOCALE] = locale;
}
return ConnectionProviderRegistry.CreateConnection("Maestro.Http", builder.ToString());
}
///
/// Creates a HTTP implementation of
///
///
///
///
///
///
///
public static ServerConnectionI CreateHttpConnection(Uri hosturl, string username, string password, string locale, bool allowUntestedVersion)
{
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
builder[HttpServerConnection.PARAM_URL] = hosturl.ToString();
builder[HttpServerConnection.PARAM_USERNAME] = username;
builder[HttpServerConnection.PARAM_PASSWORD] = password;
builder[HttpServerConnection.PARAM_UNTESTED] = allowUntestedVersion;
if (!string.IsNullOrEmpty(locale))
{
builder[HttpServerConnection.PARAM_LOCALE] = locale;
}
return ConnectionProviderRegistry.CreateConnection("Maestro.Http", builder.ToString());
}
///
/// Creates a local native implementation of
///
///
///
///
///
///
public static ServerConnectionI CreateLocalNativeConnection(string configFile, string username, string password, string locale)
{
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
builder[LocalNativeConnection.PARAM_CONFIG] = configFile;
builder[LocalNativeConnection.PARAM_USERNAME] = username;
builder[LocalNativeConnection.PARAM_PASSWORD] = password;
if (!string.IsNullOrEmpty(locale))
{
builder[LocalNativeConnection.PARAM_LOCALE] = locale;
}
return ConnectionProviderRegistry.CreateConnection("Maestro.LocalNative", builder.ToString());
}
///
/// Creates a local native implementation of
///
///
///
public static ServerConnectionI CreateLocalNativeConnection(string sessionid)
{
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
builder[LocalNativeConnection.PARAM_SESSION] = sessionid;
return ConnectionProviderRegistry.CreateConnection("Maestro.LocalNative", sessionid);
}
}
}