16 #ifndef ACSDKEQUALIZERIMPLEMENTATIONS_EQUALIZERCONTROLLER_H_ 17 #define ACSDKEQUALIZERIMPLEMENTATIONS_EQUALIZERCONTROLLER_H_ 32 namespace acsdkEqualizer {
54 static std::shared_ptr<EqualizerController>
create(
55 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerModeControllerInterface> modeController,
56 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerConfigurationInterface> configuration,
57 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerStorageInterface> storage);
76 std::set<acsdkEqualizerInterfaces::EqualizerBand> bands);
114 void resetBands(
const std::set<acsdkEqualizerInterfaces::EqualizerBand>& bands);
143 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerConfigurationInterface>
getConfiguration();
150 void registerEqualizer(std::shared_ptr<acsdkEqualizerInterfaces::EqualizerInterface> equalizer);
157 void unregisterEqualizer(std::shared_ptr<acsdkEqualizerInterfaces::EqualizerInterface> equalizer);
164 void addListener(std::shared_ptr<acsdkEqualizerInterfaces::EqualizerControllerListenerInterface> listener);
171 void removeListener(std::shared_ptr<acsdkEqualizerInterfaces::EqualizerControllerListenerInterface> listener);
183 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerModeControllerInterface> modeController,
184 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerConfigurationInterface> configuration,
185 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerStorageInterface> storage);
201 void applyChangesToCurrentState(
203 std::function<
int(
int,
int)> operation);
218 int truncateBandLevel(
int level);
225 void notifyListenersOnStateChanged(
bool changed);
228 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerModeControllerInterface> m_modeController;
231 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerConfigurationInterface> m_configuration;
234 std::shared_ptr<acsdkEqualizerInterfaces::EqualizerStorageInterface> m_storage;
240 std::mutex m_stateMutex;
243 std::mutex m_modeMutex;
246 std::list<std::shared_ptr<acsdkEqualizerInterfaces::EqualizerControllerListenerInterface>> m_listeners;
249 std::list<std::shared_ptr<acsdkEqualizerInterfaces::EqualizerInterface>> m_equalizers;
255 #endif // ACSDKEQUALIZERIMPLEMENTATIONS_EQUALIZERCONTROLLER_H_ std::unordered_map< EqualizerBand, int, avsCommon::utils::functional::EnumClassHash > EqualizerBandLevelMap
A collection of bands with their level values. This is an alias for EqualizerBand to band level (int)...
Definition: EqualizerTypes.h:77
Definition: EqualizerController.h:38
void adjustBandLevels(const acsdkEqualizerInterfaces::EqualizerBandLevelMap &bandAdjustmentMap)
std::shared_ptr< acsdkEqualizerInterfaces::EqualizerConfigurationInterface > getConfiguration()
void registerEqualizer(std::shared_ptr< acsdkEqualizerInterfaces::EqualizerInterface > equalizer)
acsdkEqualizerInterfaces::EqualizerMode getCurrentMode()
~EqualizerController()=default
Definition: SuccessResult.h:32
EqualizerBand
Definition: EqualizerTypes.h:32
void setCurrentMode(acsdkEqualizerInterfaces::EqualizerMode mode)
static std::shared_ptr< EqualizerController > create(std::shared_ptr< acsdkEqualizerInterfaces::EqualizerModeControllerInterface > modeController, std::shared_ptr< acsdkEqualizerInterfaces::EqualizerConfigurationInterface > configuration, std::shared_ptr< acsdkEqualizerInterfaces::EqualizerStorageInterface > storage)
avsCommon::utils::error::SuccessResult< int > getBandLevel(acsdkEqualizerInterfaces::EqualizerBand band)
Definition: EqualizerTypes.h:82
void setBandLevels(const acsdkEqualizerInterfaces::EqualizerBandLevelMap &bandLevelMap)
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
void resetBands(const std::set< acsdkEqualizerInterfaces::EqualizerBand > &bands)
void removeListener(std::shared_ptr< acsdkEqualizerInterfaces::EqualizerControllerListenerInterface > listener)
void setBandLevel(acsdkEqualizerInterfaces::EqualizerBand band, int level)
void unregisterEqualizer(std::shared_ptr< acsdkEqualizerInterfaces::EqualizerInterface > equalizer)
EqualizerMode
Definition: EqualizerTypes.h:51
acsdkEqualizerInterfaces::EqualizerState getCurrentState()
avsCommon::utils::error::SuccessResult< acsdkEqualizerInterfaces::EqualizerBandLevelMap > getBandLevels(std::set< acsdkEqualizerInterfaces::EqualizerBand > bands)
void addListener(std::shared_ptr< acsdkEqualizerInterfaces::EqualizerControllerListenerInterface > listener)