IOptionsService.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. namespace SRDebugger.Services
  2. {
  3. using System;
  4. using System.Collections.Generic;
  5. using Internal;
  6. public interface IOptionsService
  7. {
  8. /// <summary>
  9. /// Invoked when the <seealso cref="Options"/> collection changes.
  10. /// </summary>
  11. event EventHandler OptionsUpdated;
  12. ICollection<OptionDefinition> Options { get; }
  13. /// <summary>
  14. /// Scan <paramref name="obj" /> for options add them to the Options collection
  15. /// </summary>
  16. /// <param name="obj">Object to scan for options</param>
  17. [Obsolete("Use IOptionsService.AddContainer instead.")]
  18. void Scan(object obj);
  19. /// <summary>
  20. /// Scan <paramref name="obj"/> for options and add them to the Options collection.
  21. /// </summary>
  22. void AddContainer(object obj);
  23. /// <summary>
  24. /// Add an options container to the options collection.
  25. /// </summary>
  26. void AddContainer(IOptionContainer optionContainer);
  27. /// <summary>
  28. /// Remove any options that were added from the <paramref name="obj"/> container.
  29. /// </summary>
  30. void RemoveContainer(object obj);
  31. /// <summary>
  32. /// Remove an options container from the options collection.
  33. /// </summary>
  34. void RemoveContainer(IOptionContainer optionContainer);
  35. }
  36. }