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 EventStore.ClientAPI;
12 : using Newtonsoft.Json;
13 :
14 : namespace Cqrs.EventStore
15 : {
16 : /// <summary>
17 : /// Deserialises <see cref="IEvent{TAuthenticationToken}"/> from a serialised state.
18 : /// </summary>
19 : /// <typeparam name="TAuthenticationToken">The <see cref="Type"/> of the authentication token.</typeparam>
20 : public interface IEventDeserialiser<TAuthenticationToken>
21 : {
22 : /// <summary>
23 : /// Deserialise the provided <paramref name="eventData"/> into an <see cref="IEvent{TAuthenticationToken}"/>.
24 : /// </summary>
25 : /// <param name="eventData">The <see cref="RecordedEvent"/> to Deserialise.</param>
26 1 : IEvent<TAuthenticationToken> Deserialise(RecordedEvent eventData);
27 :
28 : /// <summary>
29 : /// Deserialise the provided <paramref name="notification"/> into an <see cref="IEvent{TAuthenticationToken}"/>.
30 : /// </summary>
31 : /// <param name="notification">The <see cref="ResolvedEvent"/> to Deserialise.</param>
32 1 : IEvent<TAuthenticationToken> Deserialise(ResolvedEvent notification);
33 :
34 : /// <summary>
35 : /// Gets the <see cref="JsonSerializerSettings"/> used while Deserialising.
36 : /// </summary>
37 1 : JsonSerializerSettings GetSerialisationSettings();
38 : }
39 : }
|