PageRenderTime 14ms CodeModel.GetById 6ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/Source/Bifrost/Events/IEventSubscriptionManager.cs

#
C# | 55 lines | 13 code | 4 blank | 38 comment | 0 complexity | a6bd4e7bcd293c0b2afc8e6dbd091259 MD5 | raw file
 1#region License
 2//
 3// Copyright (c) 2008-2012, DoLittle Studios and Komplett ASA
 4//
 5// Licensed under the Microsoft Permissive License (Ms-PL), Version 1.1 (the "License")
 6// With one exception :
 7//   Commercial libraries that is based partly or fully on Bifrost and is sold commercially,
 8//   must obtain a commercial license.
 9//
10// You may not use this file except in compliance with the License.
11// You may obtain a copy of the license at
12//
13//   http://bifrost.codeplex.com/license
14//
15// Unless required by applicable law or agreed to in writing, software
16// distributed under the License is distributed on an "AS IS" BASIS,
17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18// See the License for the specific language governing permissions and
19// limitations under the License.
20//
21#endregion
22using System.Collections.Generic;
23
24namespace Bifrost.Events
25{
26    /// <summary>
27    /// Defines a manager for dealing with <see cref="EventSubscription">EventSubscriptions</see>
28    /// </summary>
29    public interface IEventSubscriptionManager
30    {
31        /// <summary>
32        /// Get all <see cref="EventSubscription">EventSubscriptions</see>
33        /// </summary>
34        /// <returns>All available <see cref="EventSubscription">EventSubscriptions</see></returns>
35        IEnumerable<EventSubscription> GetAllSubscriptions();
36
37        /// <summary>
38        /// Get all available <see cref="EventSubscription">EventSubscriptions</see>
39        /// </summary>
40        /// <returns>All available <see cref="EventSubscription">EventSubscriptions</see></returns>
41        IEnumerable<EventSubscription> GetAvailableSubscriptions();
42
43        /// <summary>
44        /// Process a set of <see cref="IEvent">Events</see>
45        /// </summary>
46        /// <param name="events"><see cref="IEvent">Events</see> to process</param>
47        void Process(IEnumerable<IEvent> events);
48
49        /// <summary>
50        /// Process a single <see cref="IEvent"/>
51        /// </summary>
52        /// <param name="event"><see cref="IEvent"/> to process</param>
53        void Process(IEvent @event);
54    }
55}