AlexaClientSDK  1.23.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
CallManagerInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 #ifndef ALEXA_CLIENT_SDK_AVSCOMMON_SDKINTERFACES_INCLUDE_AVSCOMMON_SDKINTERFACES_CALLMANAGERINTERFACE_H_
17 #define ALEXA_CLIENT_SDK_AVSCOMMON_SDKINTERFACES_INCLUDE_AVSCOMMON_SDKINTERFACES_CALLMANAGERINTERFACE_H_
18 
19 #include <memory>
20 #include <string>
21 
28 
29 namespace alexaClientSDK {
30 namespace avsCommon {
31 namespace sdkInterfaces {
32 
42 public:
52  const std::string& objectName,
53  const std::string& avsNamespace,
54  std::shared_ptr<sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionEncounteredSender);
55 
57  enum class DTMFTone {
58  DTMF_ZERO,
59  DTMF_ONE,
60  DTMF_TWO,
61  DTMF_THREE,
62  DTMF_FOUR,
63  DTMF_FIVE,
64  DTMF_SIX,
65  DTMF_SEVEN,
66  DTMF_EIGHT,
67  DTMF_NINE,
68  DTMF_STAR,
70  };
71 
75  virtual ~CallManagerInterface() = default;
76 
82  virtual void addObserver(std::shared_ptr<avsCommon::sdkInterfaces::CallStateObserverInterface> observer) = 0;
83 
89  virtual void removeObserver(std::shared_ptr<avsCommon::sdkInterfaces::CallStateObserverInterface> observer) = 0;
90 
94  virtual void acceptCall() = 0;
95 
101  virtual void sendDtmf(DTMFTone dtmfTone) = 0;
102 
106  virtual void stopCall() = 0;
107 
111  virtual void muteSelf() = 0;
112 
116  virtual void unmuteSelf() = 0;
117 
121  virtual void enableVideo();
122 
126  virtual void disableVideo();
127 
133  virtual bool isSelfMuted() const = 0;
134 };
135 
137  const std::string& objectName,
138  const std::string& avsNamespace,
139  std::shared_ptr<sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionEncounteredSender) :
140  utils::RequiresShutdown{objectName},
141  avsCommon::avs::CapabilityAgent{avsNamespace, exceptionEncounteredSender} {
142 }
143 
145  return;
146 }
147 
149  return;
150 }
151 
152 } // namespace sdkInterfaces
153 } // namespace avsCommon
154 } // namespace alexaClientSDK
155 
156 #endif // ALEXA_CLIENT_SDK_AVSCOMMON_SDKINTERFACES_INCLUDE_AVSCOMMON_SDKINTERFACES_CALLMANAGERINTERFACE_H_
Definition: CapabilityAgent.h:47
virtual void removeObserver(std::shared_ptr< avsCommon::sdkInterfaces::CallStateObserverInterface > observer)=0
RequiresShutdown(const std::string &name)
Definition: RequiresShutdown.cpp:120
Definition: ConnectionStatusObserverInterface.h:31
virtual void disableVideo()
Definition: CallManagerInterface.h:148
DTMFTone
An enum used to define the characters that dtmf tone can be.
Definition: CallManagerInterface.h:57
CallManagerInterface(const std::string &objectName, const std::string &avsNamespace, std::shared_ptr< sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionEncounteredSender)
Definition: CallManagerInterface.h:136
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
virtual void enableVideo()
Definition: CallManagerInterface.h:144
virtual void addObserver(std::shared_ptr< avsCommon::sdkInterfaces::CallStateObserverInterface > observer)=0
Definition: SoftwareInfoSenderObserverInterface.h:51

AlexaClientSDK 1.23.0 - Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0