using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SuperSocket.SocketBase.Provider
{
///
/// Provider factory infomation
///
[Serializable]
public class ProviderFactoryInfo
{
///
/// Gets the key.
///
public ProviderKey Key { get; set; }
///
/// Gets or sets the name.
///
///
/// The name.
///
public string Name { get; set; }
///
/// Gets or sets the export factory.
///
///
/// The export factory.
///
public ExportFactory ExportFactory { get; set; }
///
/// Initializes a new instance of the class.
///
public ProviderFactoryInfo()
{
}
///
/// Initializes a new instance of the class.
///
/// The key.
/// The name.
/// The instance.
public ProviderFactoryInfo(ProviderKey key, string name, object instance)
{
Key = key;
Name = name;
ExportFactory = new ExportFactory(instance);
}
///
/// Initializes a new instance of the class.
///
/// The key.
/// The name.
/// Name of the type.
public ProviderFactoryInfo(ProviderKey key, string name, string typeName)
{
Key = key;
Name = name;
ExportFactory = new ExportFactory(typeName);
}
///
/// Initializes a new instance of the class.
///
/// The key.
/// The name.
/// The type.
public ProviderFactoryInfo(ProviderKey key, string name, Type type)
: this(key, name, type.AssemblyQualifiedName)
{
}
}
}