#region License
/*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#endregion
using System;
using System.IO;
using System.Runtime.Serialization;
using TIBCO.EMS;
namespace Spring.Messaging.Ems.Common{
/// <summary>
/// An interface containing all methods and properties on the TIBCO.EMS.ConnectionFactory class.
/// Refer to the TIBCO EMS API documentation for more information.
/// </summary>
/// <remarks>
/// All the 'GetXXX()' methods in the TIBCO.EMS.ConnectionFactory were translated to .NET properties
/// </remarks>
/// <author>Mark Pollack</author>
public interface IConnectionFactory : ISerializable, ICloneable
{
/// <summary>
/// Gets the native TIBCO EMS connection factory.
/// </summary>
/// <value>The native connection factory.</value>
ConnectionFactory NativeConnectionFactory { get; }
/// <summary>
/// Creates the connection.
/// </summary>
/// <returns>The newly created connection</returns>
IConnection CreateConnection();
/// <summary>
/// Creates the connection with the given username and password
/// </summary>
/// <param name="userName">Name of the user.</param>
/// <param name="password">The password.</param>
/// <returns></returns>
IConnection CreateConnection(string userName, string password);
/// <summary>
/// Gets the certificate store info object associated with this connection factory.
/// </summary>
/// <value>The certificate store.</value>
object CertificateStore { get; }
/// <summary>
/// Gets or sets the SSL proxy host.
/// </summary>
/// <value>The SSL proxy host.</value>
string SSLProxyHost { set; get; }
/// <summary>
/// Gets or sets the SSL proxy port.
/// </summary>
/// <value>The SSL proxy port.</value>
int SSLProxyPort { set; get; }
/// <summary>
/// Gets the SSL proxy password.
/// </summary>
/// <value>The SSL proxy password.</value>
string SSLProxyPassword { get; }
/// <summary>
/// Gets the SSL proxy user.
/// </summary>
/// <value>The SSL proxy user.</value>
string SSLProxyUser { get; }
/// <summary>
/// Sets the type of the certificate store.
/// </summary>
/// <value>The type of the certificate store.</value>
IEmsSSLStoreType CertificateStoreType { set; }
/// <summary>
/// Sets the client ID.
/// </summary>
/// <value>The client ID.</value>
string ClientID { set; }
/// <summary>
/// Sets the client tracer to a given output stream
/// </summary>
/// <value>The client tracer.</value>
StreamWriter ClientTracer { set; }
/// <summary>
/// Sets the number of connection attempts
/// </summary>
/// <value>The number of connection attempts.</value>
int ConnAttemptCount { set; }
/// <summary>
/// Sets delay between connection attempts
/// </summary>
/// <value>The delay between connection attempts.</value>
int ConnAttemptDelay { set; }
/// <summary>
/// Sets the connection attempt timeout.
/// </summary>
/// <value>The connection attempt timeout.</value>
int ConnAttemptTimeout { set; }
/// <summary>
/// Sets the custom host name verifier. Set to null to remove custom host name verifier.
/// </summary>
/// <value>The host name verifier.</value>
EMSSSLHostNameVerifier HostNameVerifier { set; }
/// <summary>
/// Sets the load balance metric as an integer.
/// </summary>
/// <value>The load balance metric as int.</value>
int MetricAsInt { set; }
/// <summary>
/// Sets the port on which the client will connect to the multicast daemon.
/// </summary>
/// <value>The multicast daemon port.</value>
string MulticastDaemon { set; }
/// <summary>
/// Sets whether MessageConsumers subscribed to a multicast-enabled topic will receive messages over multicast.
/// </summary>
/// <value><c>true</c> to enable multicast; <c>false</c> to disable.</value>
bool MulticastEnabled { set; }
int ReconnAttemptCount { set; }
int ReconnAttemptDelay { set; }
int ReconnAttemptTimeout { set; }
string ServerUrl { set; }
bool SSLAuthOnly { set; }
string SSLProxyAuthUsername { set; get; }
string SSLProxyAuthPassword { set; get; }
bool SSLTrace { set; }
string TargetHostName { set; }
string UserName { set; }
string UserPassword { set; }
string ToString();
FactoryLoadBalanceMetric Metric { get; set; }
}
}
|