| 12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using TeamAAS_VP.Core.Lights;
- using TeamAAS_VP.Models;
- using TeamAAS_VP.Models.Lights;
- namespace TeamAAS_VP.Interfaces
- {
- public interface ILightManagerService
- {
- event EventHandler<LightControllerEventArgs> ControllerAdded;
- event EventHandler<LightControllerEventArgs> ControllerRemoved;
- event EventHandler<LightChannelEventArgs> ChannelStatusChanged;
- IReadOnlyDictionary<int, ILightController> Controllers { get; }
- IReadOnlyDictionary<int, ILightChannel> GlobalChannels { get; }
- Task<ILightController> RegisterControllerAsync(int id, LightControllerConfig configuration);
- Task<bool> UnregisterControllerAsync(int controllerId);
- Task<bool> SetGlobalChannelBrightnessAsync(int globalChannelId, int brightness);
- Task<bool> TurnOnGlobalChannelAsync(int globalChannelId);
- Task<bool> TurnOffGlobalChannelAsync(int globalChannelId);
- Task<bool> ConnectAllAsync();
- Task<bool> DisconnectAllAsync();
- Task SaveConfigurationAsync(string filePath);
- Task LoadConfigurationAsync(string filePath);
- }
- }
|