16 #ifndef ACSDK_SAMPLE_INTERACTIONMANAGER_INTERACTIONMANAGER_H_ 17 #define ACSDK_SAMPLE_INTERACTIONMANAGER_INTERACTIONMANAGER_H_ 40 #include <acsdk/PhoneCallControllerAdapter/PhoneCaller.h> 44 #include <acsdk/MeetingClientControllerAdapter/CalendarClient.h> 45 #include <acsdk/MeetingClientControllerAdapter/MeetingClient.h> 48 #ifdef POWER_CONTROLLER 52 #ifdef TOGGLE_CONTROLLER 56 #ifdef RANGE_CONTROLLER 60 #ifdef MODE_CONTROLLER 65 namespace sampleApplications {
81 std::shared_ptr<defaultClient::DefaultClient> client,
82 std::shared_ptr<applicationUtilities::resources::audio::MicrophoneInterface> micWrapper,
83 std::shared_ptr<UIManager> userInterface,
85 std::shared_ptr<phoneCallControllerAdapter::PhoneCaller> phoneCaller,
88 std::shared_ptr<meetingClientControllerAdapter::MeetingClient> meetingClient,
89 std::shared_ptr<meetingClientControllerAdapter::CalendarClient> calendarClient,
94 #ifdef POWER_CONTROLLER
95 std::shared_ptr<PeripheralEndpointPowerControllerHandler> powerControllerHandler =
nullptr,
97 #ifdef TOGGLE_CONTROLLER
98 std::shared_ptr<PeripheralEndpointToggleControllerHandler> toggleControllerHandler =
nullptr,
100 #ifdef RANGE_CONTROLLER
101 std::shared_ptr<PeripheralEndpointRangeControllerHandler> rangeControllerHandler =
nullptr,
103 #ifdef MODE_CONTROLLER
104 std::shared_ptr<PeripheralEndpointModeControllerHandler> modeControllerHandler =
nullptr,
106 std::shared_ptr<avsCommon::sdkInterfaces::CallManagerInterface> callManager =
nullptr,
107 std::shared_ptr<avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface> diagnostics =
nullptr);
242 const std::vector<avsCommon::sdkInterfaces::endpoints::EndpointIdentifier>& deletedEndpoints);
244 #ifdef ENABLE_ENDPOINT_CONTROLLERS 248 void endpointModification();
272 void addDynamicEndpoint();
277 void modifyDynamicEndpoint();
282 void deleteDynamicEndpoint();
287 void endpointController();
290 #ifdef POWER_CONTROLLER 294 void powerController();
297 #ifdef TOGGLE_CONTROLLER 301 void toggleController();
304 #ifdef MODE_CONTROLLER 308 void modeController();
311 #ifdef RANGE_CONTROLLER 315 void rangeController();
391 std::shared_ptr<avsCommon::sdkInterfaces::SpeechInteractionHandlerInterface> holdToTalkHandler);
444 void muteCallToggle();
498 void sendCallTerminated(
const std::string& callId);
502 void sendInboundRingingStarted(
const std::string& callId);
503 void sendOutboundCallRequested(
const std::string& callId);
504 void sendOutboundRingingStarted(
const std::string& callId);
505 void sendSendDtmfSucceeded(
const std::string& callId);
506 void sendSendDtmfFailed(
const std::string& callId);
514 void meetingControl();
524 void calendarItemsFile();
529 void sendMeetingJoined(
const std::string& sessionId);
530 void sendMeetingEnded(
const std::string& sessionId);
531 void sendSetCurrentMeetingSession(
const std::string& sessionId);
532 void sendClearCurrentMeetingSession();
533 void sendConferenceConfigurationChanged();
534 void sendMeetingClientErrorOccured(
const std::string& sessionId);
535 void sendCalendarItemsRetrieved(
const std::string& calendarItemsFile);
536 void sendCalendarClientErrorOccured();
581 #ifdef POWER_CONTROLLER 587 void setPowerState(
const bool powerState);
590 #ifdef TOGGLE_CONTROLLER 596 void setToggleState(
const bool toggleState);
599 #ifdef RANGE_CONTROLLER 605 void setRangeValue(
const int rangeValue);
608 #ifdef MODE_CONTROLLER 690 std::shared_ptr<defaultClient::DefaultClient> m_client;
693 std::shared_ptr<applicationUtilities::resources::audio::MicrophoneInterface> m_micWrapper;
696 std::shared_ptr<UIManager> m_userInterface;
699 std::shared_ptr<avsCommon::sdkInterfaces::CallManagerInterface> m_callManager;
702 std::shared_ptr<phoneCallControllerAdapter::PhoneCaller> m_phoneCaller;
707 std::shared_ptr<meetingClientControllerAdapter::MeetingClient> m_meetingClient;
710 std::shared_ptr<meetingClientControllerAdapter::CalendarClient> m_calendarClient;
714 std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::SpeechInteractionHandlerInterface>
715 m_holdToTalkSpeechInteractionHandler;
726 #ifdef POWER_CONTROLLER 727 std::shared_ptr<PeripheralEndpointPowerControllerHandler> m_powerControllerHandler;
731 #ifdef TOGGLE_CONTROLLER 732 std::shared_ptr<PeripheralEndpointToggleControllerHandler> m_toggleControllerHandler;
736 #ifdef RANGE_CONTROLLER 737 std::shared_ptr<PeripheralEndpointRangeControllerHandler> m_rangeControllerHandler;
741 #ifdef MODE_CONTROLLER 742 std::shared_ptr<PeripheralEndpointModeControllerHandler> m_modeControllerHandler;
747 bool m_isHoldOccurring;
750 bool m_isTapOccurring;
753 bool m_isCallConnected;
760 #ifdef ENABLE_ENDPOINT_CONTROLLERS 761 bool m_friendlyNameToggle;
766 std::shared_ptr<avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface> m_diagnostics;
775 void doShutdown()
override;
790 #endif // ALEXA_CLIENT_SDK_INTERACTIONMANAGER_INCLUDE_ACSDK_SAMPLE_INTERACTIONMANAGER_INTERACTIONMANAGER_H_
void adjustVolume(avsCommon::sdkInterfaces::ChannelVolumeInterface::Type type, int8_t delta)
void playbackRepeat(bool action)
void networkInfoStaticIpPrompt()
void overrideHoldToTalkSpeechHandler(std::shared_ptr< avsCommon::sdkInterfaces::SpeechInteractionHandlerInterface > holdToTalkHandler)
void sendDeviceSetupComplete()
void playbackThumbsDown(bool action)
void setFirmwareVersion(avsCommon::sdkInterfaces::softwareInfo::FirmwareVersion firmwareVersion)
Definition: NetworkInfo.h:31
::std::string string
Definition: gtest-port.h:1097
static const AudioProvider & null()
Definition: AudioProvider.h:171
Single-thread executor implementation.
Definition: Executor.h:45
void setAlarmVolumeRamp(bool enable)
Type
Definition: ChannelVolumeInterface.h:37
Definition: RequiresShutdown.h:32
InteractionManager(std::shared_ptr< defaultClient::DefaultClient > client, std::shared_ptr< applicationUtilities::resources::audio::MicrophoneInterface > micWrapper, std::shared_ptr< UIManager > userInterface, capabilityAgents::aip::AudioProvider holdToTalkAudioProvider, capabilityAgents::aip::AudioProvider tapToTalkAudioProvider, capabilityAgents::aip::AudioProvider wakeWordAudioProvider=capabilityAgents::aip::AudioProvider::null(), std::shared_ptr< avsCommon::sdkInterfaces::CallManagerInterface > callManager=nullptr, std::shared_ptr< avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface > diagnostics=nullptr)
void playbackLoop(bool action)
void networkInfoESSIDPrompt()
void clearProtocolTrace()
void setMute(avsCommon::sdkInterfaces::ChannelVolumeInterface::Type type, bool mute)
Definition: AudioProvider.h:31
void showDeviceProperties()
Definition: CallStateObserverInterface.h:28
void playbackShuffle(bool action)
void speechConfirmation()
void onDialogUXStateChanged(DialogUXState newState) override
void stopForegroundActivity()
DialogUXState
The different dialog specific AVS UX states.
Definition: DialogUXStateObserverInterface.h:32
void networkInfoMacPrompt()
void setWakewordConfirmation(settings::WakeWordConfirmationSettingType value)
void wakewordConfirmation()
void confirmResetDevice()
CallState
An enumeration representing the state of a call.
Definition: CallStateObserverInterface.h:31
void confirmReauthorizeDevice()
void networkInfoDHCPPrompt()
void playbackSkipForward()
void playbackThumbsUp(bool action)
void setNetworkInfo(const settings::types::NetworkInfo &value)
void audioInjectionControl()
SpeechConfirmationSettingType
Definition: SpeechConfirmationSettingType.h:29
Definition: InteractionManager.h:72
void networkInfoBSSIDPrompt()
void onCallStateChange(CallState newState) override
void networkInfoSubnetPrompt()
settings::types::NetworkInfo getNetworkInfo()
DTMFTone
An enum used to define the characters that dtmf tone can be.
Definition: CallManagerInterface.h:59
void firmwareVersionControl()
void clearCachedEndpointIdentifiers(const std::vector< avsCommon::sdkInterfaces::endpoints::EndpointIdentifier > &deletedEndpoints)
void diagnosticsControl()
void deviceProtocolTraceControl()
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
void devicePropertiesControl()
void setSpeechConfirmation(settings::SpeechConfirmationSettingType value)
int32_t FirmwareVersion
Type to use to communicate a firmware version.
Definition: SoftwareInfoSenderObserverInterface.h:29
type
Definition: upload.py:443
void networkInfoConnectionTypePrompt()
std::string EndpointIdentifier
Definition: EndpointIdentifier.h:38
void setTimeZone(const std::string &value)
std::vector< Locale > DeviceLocales
Alias for locales enabled in the device.
Definition: DeviceSettingsManager.h:37
WakeWordConfirmationSettingType
Definition: WakeWordConfirmationSettingType.h:29
void playbackSkipBackward()
void injectWavFile(const std::string &absoluteFilePath)
PlaybackToggle
Definition: PlaybackButtons.h:46
void setProtocolTraceFlag(bool enabled)
void setDoNotDisturbMode(bool enable)
void setLocale(const settings::DeviceLocales &value)
void printProtocolTrace()
void networkInfoIpPrompt()
A dialog specific UX state observer.
Definition: DialogUXStateObserverInterface.h:29
action
Definition: upload.py:393