PageRenderTime 41ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/Source/Bifrost/Events/IEventSubscriptionManager.cs

#
C# | 55 lines | 13 code | 4 blank | 38 comment | 0 complexity | a6bd4e7bcd293c0b2afc8e6dbd091259 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  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
  22. using System.Collections.Generic;
  23. namespace Bifrost.Events
  24. {
  25. /// <summary>
  26. /// Defines a manager for dealing with <see cref="EventSubscription">EventSubscriptions</see>
  27. /// </summary>
  28. public interface IEventSubscriptionManager
  29. {
  30. /// <summary>
  31. /// Get all <see cref="EventSubscription">EventSubscriptions</see>
  32. /// </summary>
  33. /// <returns>All available <see cref="EventSubscription">EventSubscriptions</see></returns>
  34. IEnumerable<EventSubscription> GetAllSubscriptions();
  35. /// <summary>
  36. /// Get all available <see cref="EventSubscription">EventSubscriptions</see>
  37. /// </summary>
  38. /// <returns>All available <see cref="EventSubscription">EventSubscriptions</see></returns>
  39. IEnumerable<EventSubscription> GetAvailableSubscriptions();
  40. /// <summary>
  41. /// Process a set of <see cref="IEvent">Events</see>
  42. /// </summary>
  43. /// <param name="events"><see cref="IEvent">Events</see> to process</param>
  44. void Process(IEnumerable<IEvent> events);
  45. /// <summary>
  46. /// Process a single <see cref="IEvent"/>
  47. /// </summary>
  48. /// <param name="event"><see cref="IEvent"/> to process</param>
  49. void Process(IEvent @event);
  50. }
  51. }