Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using Cqrs.Events;
11 : using Ninject.Modules;
12 :
13 : namespace Cqrs.Ninject.Configuration
14 : {
15 : /// <summary>
16 : /// A <see cref="INinjectModule"/> that configures the <see cref="InProcessEventStore{TAuthenticationToken}"/> as a <see cref="IEventStore{TAuthenticationToken}"/>.
17 : /// </summary>
18 : /// <typeparam name="TAuthenticationToken">The <see cref="Type"/> of the authentication token.</typeparam>
19 : public class InProcessEventStoreModule<TAuthenticationToken> : ResolvableModule
20 1 : {
21 : #region Overrides of NinjectModule
22 :
23 : /// <summary>
24 : /// Loads the module into the kernel.
25 : /// </summary>
26 1 : public override void Load()
27 : {
28 : RegisterFactories();
29 : RegisterServices();
30 : RegisterEventStore();
31 : }
32 :
33 : #endregion
34 :
35 : /// <summary>
36 : /// Register the all factories
37 : /// </summary>
38 1 : public virtual void RegisterFactories()
39 : {
40 : }
41 :
42 : /// <summary>
43 : /// Register the all services
44 : /// </summary>
45 1 : public virtual void RegisterServices()
46 : {
47 : }
48 :
49 : /// <summary>
50 : /// Register the <see cref="InProcessEventStore{TAuthenticationToken}"/>
51 : /// </summary>
52 1 : public virtual void RegisterEventStore()
53 : {
54 : Bind<IEventStore<TAuthenticationToken>>()
55 : .To<InProcessEventStore<TAuthenticationToken>>()
56 : .InSingletonScope();
57 : }
58 : }
59 : }
|