using Kreta.Core.IoC;
using Kreta.Core.MessageBroker;
using Kreta.Core.MessageBroker.Azure.EventHub.Client.Configuration;
using Kreta.Core.MessageBroker.Contract.MobileNotification;
using Kreta.MessageBroker.Client.MobileNotification;
using Kreta.MessageBroker.ClientFactory;
using Kreta.MessageBroker.Configuration;
using Kreta.MessageBroker.Propetries;
using Kreta.MessageBroker.TraceLog;
namespace Kreta.MessageBroker
{
///
/// Dependency resolver of current layer
///
class DependencyContainer : Core.IoC.DependencyContainer
{
#region [Properties]
///
/// Instance
///
public static IDependencyResolver Instance
{
get { return GetResolver(MessageBrokerLayer.Instance); }
}
#endregion
#region [Private/Protected Methods]
///
/// Initialize
///
protected override void Initialize()
{
RegisterSingleton(MessageBrokerConfigurationSection.Instance);
RegisterSingleton(MessageBrokerConfigurationSection.Instance);
RegisterSingleton, ClientFactory.AzureEventHubMessageClientFactory>();
RegisterSingleton, MobileNotificationJsonMessageClientFactory>();
RegisterSingleton();
RegisterSingleton();
RegisterSingleton();
}
#endregion
}
}