ZDK
ICall.h
1 #ifndef __ICALL__
2 #define __ICALL__
3 
4 #include "IZHandle.h"
5 
6 #include "Types/SharedPointerTypes.h"
7 #include "Types/AudioVideoCodecs.h"
8 #include "Types/CallLineStatus.h"
9 #include "Types/DTMFCodes.h"
10 #include "Types/OriginType.h"
11 #include "Types/VideoFrameFormat.h"
12 
13 namespace ZDK
14 {
15 
16 class ICall : public virtual ZDK::IZHandle
17 {
18 public:
19  //# @abi(all) documentation
25  //# @abi(jni|obj_c) property
26  virtual ZDK::ZDKHandle CallHandle() const = 0;
27 
28  //# @abi(jni|obj_c) property
29  //# @abi(jni|obj_c) @param(return) nullable
30  virtual ZDK::Shared::BrandingInfo Branding() const = 0;
31 
32  //# @abi(jni|obj_c) property
33  //# @abi(jni|obj_c) @param(value) nullable
34  virtual void Branding(ZDK::Shared::BrandingInfo value) = 0;
35 
36  //# @abi(all) documentation
43  //# @abi(jni|obj_c) property
44  virtual ZDK::Shared::CallStatus Status() const = 0;
45 
46  //# @abi(all) documentation
52  //# @abi(jni|obj_c) property
53  virtual ZDK::Shared::String CalleeNumber() const = 0;
54 
55  //# @abi(all) documentation
61  //# @abi(jni|obj_c) property
62  virtual ZDK::Shared::String CalleeName() const = 0;
63 
64  //# @abi(all) documentation
70  //# @abi(jni|obj_c) property
71  virtual ZDK::AudioVideoCodecs CodecInUse() const = 0;
72 
73  //# @abi(all) documentation
79  //# @abi(obj_c|jni) @param(value) delegate|register
80  virtual void SetCallStatusListener(ZDK::Shared::CallEventsHandler value) = 0;
81 
82  //# @abi(all) documentation
88  //# @abi(obj_c|jni) @param(value) delegate|unregister
89  virtual void DropCallStatusListener(ZDK::Shared::CallEventsHandler value) = 0;
90 
91  //# @abi(all) documentation
97  //# @abi(obj_c|jni) @param(value) delegate|register
98  virtual void SetVideoCallNotificiationsListener(ZDK::Shared::VideoEventsHandler value) = 0;
99 
100  //# @abi(all) documentation
106  //# @abi(obj_c|jni) @param(value) delegate|unregister
107  virtual void DropVideoCallNotificiationsListener(ZDK::Shared::VideoEventsHandler value) = 0;
108 
109  //# @abi(all) documentation
113  virtual void DropAllEventListeners() = 0;
114 
115  //# @abi(obj_c|jni) @param(value) delegate|register
116  virtual void SetVideoRendererNotificationsListener(ZDK::Shared::VideoRendererEventsHandler value) = 0;
117 
118  //# @abi(all) documentation
124  virtual ZDK::Shared::Result HangUp() = 0;
125 
126  //# @abi(all) documentation
134  virtual ZDK::Shared::Result AcceptCall() = 0;
135 
136  //# @abi(all) documentation
148  virtual ZDK::Shared::Result AcceptCallTransfer() = 0;
149 
150  //# @abi(all) documentation
158  virtual ZDK::Shared::Result RejectCallTransfer() = 0;
159 
160  //# @abi(all) documentation
174  virtual ZDK::Shared::Result AttendedTransfer(ZDK::Shared::Call transferee) = 0;
175 
176  //# @abi(all) documentation
192  virtual ZDK::Shared::Result BlindTransfer(ZDK::Shared::String transferee) = 0;
193 
194  //# @abi(all) documentation
200  virtual ZDK::Shared::Result AcceptVideo(bool accept) = 0;
201 
202  //# @abi(all) documentation
210  virtual ZDK::Shared::Result OfferVideo() = 0;
211 
212  //# @abi(all) documentation
227  virtual void SendVideoFrame(unsigned char* bytes, int byteCount, ZDK::VideoFrameFormat type) = 0;
228 
229  //# @abi(all) documentation
235  virtual ZDK::Shared::Result VideoToggleCamera() = 0;
236 
237  //# @abi(all) documentation
247  virtual ZDK::CameraSensorLocation VideoGetCameraLocation() = 0;
248 
249  //# @abi(all) documentation
255  virtual ZDK::Shared::Result RestartVideoCapture() = 0;
256 
257  //# @abi(all) documentation
263  //# @abi(jni|obj_c) property
264  virtual bool OnSpeaker() const = 0;
265 
266  //# @abi(all) documentation
270  //# @abi(jni|obj_c) property
271  virtual void OnSpeaker(bool value) = 0;
272 
273  //# @abi(all) documentation
279  //# @abi(jni|obj_c) property
280  virtual bool Held() const = 0;
281 
282  //# @abi(all) documentation
286  //# @abi(jni|obj_c) property
287  virtual void Held(bool value) = 0;
288 
289  //# @abi(all) documentation
295  //# @abi(jni|obj_c) property
296  virtual bool Muted() const = 0;
297 
298  //# @abi(all) documentation
302  //# @abi(jni|obj_c) property
303  virtual void Muted(bool value) = 0;
304 
305  //# @abi(all) documentation
317  virtual bool HasVideo(ZDK::OriginType origin) const = 0;
318 
319  //# @abi(all) documentation
330  virtual ZDK::Shared::Result SetHasVideo(ZDK::OriginType origin, bool value) = 0;
331 
332  //# @abi(all) documentation
344  //# @abi(jni|obj_c) property
345  //# @abi(jni|obj_c) @param(return) nullable
346  virtual ZDK::Shared::VideoCallInfo VideoCallInfo() const = 0;
347 
348  //# @abi(jni|obj_c) ignore
349  virtual ZDK::Shared::VideoSinkManager ReleaseVideoSinkSourceOwnership() = 0;
350 
351  //# @abi(jni|obj_c) property
352  virtual bool IsFirstClass() const = 0;
353 
354  //# @abi(all) documentation
358  virtual void StopHandlingVoipPhoneCallEvents() = 0;
359 
360  //# @abi(all) documentation
364  virtual void StartHandlingVoipPhoneCallEvents() = 0;
365 
366  //# @abi(all) documentation
372  virtual ZDK::Shared::Result NotifyAccountOfOwnershipChange() = 0;
373 
374  //# @abi(all) documentation
384  virtual ZDK::Shared::Result SendDTMF(ZDK::DTMFCodes DTMF) = 0;
385 
386  //# @abi(all) documentation
396  virtual ZDK::Shared::Result PlayDTMFSound(ZDK::DTMFCodes DTMF) = 0;
397 
398  //# @abi(all) documentation
404  //# @abi(jni|obj_c) property
405  virtual ZDK::Shared::Account Owner() const = 0;
406 
407  // Call recording
408 
409  //# @abi(all) documentation
415  //# @abi(jni|obj_c) property
416  virtual ZDK::Shared::String RecordFileName() const = 0;
417 
418  //# @abi(all) documentation
422  //# @abi(jni|obj_c) property
423  virtual void RecordFileName(ZDK::Shared::String fileName) = 0;
424 
425  //# @abi(all) documentation
431  virtual ZDK::Shared::Result StartRecording() = 0;
432 
433  //# @abi(all) documentation
439  virtual ZDK::Shared::Result StopRecording() = 0;
440 
441  //# @abi(all) documentation
447  virtual ZDK::Shared::Result EnableZrtp(bool enabled) = 0;
448 
449  //# @abi(all) documentation
455  virtual ZDK::Shared::Result ConfirmZrtpSas(bool confirmed) = 0;
456 };
457 
458 } //namespace ZDK
459 
460 #endif //__ICALL__
Definition: ICall.h:16
virtual ZDK::Shared::Result OfferVideo()=0
Offers Video.
virtual void DropVideoCallNotificiationsListener(ZDK::Shared::VideoEventsHandler value)=0
Drops Video status listener.
virtual ZDK::CameraSensorLocation VideoGetCameraLocation()=0
Provides Camera location.
virtual ZDK::Shared::Result AttendedTransfer(ZDK::Shared::Call transferee)=0
Initiates an attended call transfer.
virtual void DropCallStatusListener(ZDK::Shared::CallEventsHandler value)=0
Drops Call status listener.
Definition: IZHandle.h:12
virtual ZDK::Shared::Result RejectCallTransfer()=0
Rejects a call transfer request.
virtual ZDK::Shared::CallStatus Status() const =0
Provides the Call's status information.
virtual bool HasVideo(ZDK::OriginType origin) const =0
Gets if video is present.
virtual bool Muted() const =0
Gets the Mute state.
virtual void StartHandlingVoipPhoneCallEvents()=0
Start handling Call events.
virtual ZDK::Shared::Result RestartVideoCapture()=0
Restart Video capture.
virtual ZDK::Shared::String RecordFileName() const =0
Gets the record file name.
virtual ZDK::Shared::Result PlayDTMFSound(ZDK::DTMFCodes DTMF)=0
Used to play DTMF sound.
virtual void SetVideoCallNotificiationsListener(ZDK::Shared::VideoEventsHandler value)=0
Sets Video status listener.
virtual ZDK::Shared::Account Owner() const =0
Returns the account owner.
virtual ZDK::Shared::Result BlindTransfer(ZDK::Shared::String transferee)=0
Initiates an unattended call transfer.
virtual void SendVideoFrame(unsigned char *bytes, int byteCount, ZDK::VideoFrameFormat type)=0
Send a video frame over the network.
virtual bool Held() const =0
Gets the Hold state.
virtual ZDK::Shared::Result NotifyAccountOfOwnershipChange()=0
Notify upon Account ownership changes.
virtual ZDK::Shared::Result VideoToggleCamera()=0
Toggles the camera.
virtual ZDK::Shared::Result SendDTMF(ZDK::DTMFCodes DTMF)=0
Used to send DTMF.
virtual void StopHandlingVoipPhoneCallEvents()=0
Stops handling Call events.
virtual ZDK::Shared::Result SetHasVideo(ZDK::OriginType origin, bool value)=0
Sets the video.
virtual ZDK::ZDKHandle CallHandle() const =0
Gets call handle.
virtual ZDK::Shared::String CalleeNumber() const =0
Provides the Callee number.
virtual ZDK::Shared::VideoCallInfo VideoCallInfo() const =0
Gets Video call information.
virtual ZDK::AudioVideoCodecs CodecInUse() const =0
Provides the used codec.
virtual ZDK::Shared::Result AcceptVideo(bool accept)=0
Accepts an incoming offer for video.
Definition: IAccountConfig.h:10
virtual ZDK::Shared::Result HangUp()=0
Hang up the call.
virtual ZDK::Shared::Result AcceptCall()=0
Accepts an incoming call.
virtual bool OnSpeaker() const =0
Gets the speakers state.
virtual ZDK::Shared::String CalleeName() const =0
Provides the Callee name.
virtual ZDK::Shared::Result StopRecording()=0
Stop recording.
virtual void DropAllEventListeners()=0
Drops all event listeners.
virtual ZDK::Shared::Result AcceptCallTransfer()=0
Accept a call transfer request.
virtual ZDK::Shared::Result ConfirmZrtpSas(bool confirmed)=0
Enables ZRTP.
virtual ZDK::Shared::Result EnableZrtp(bool enabled)=0
Enables ZRTP.
virtual void SetCallStatusListener(ZDK::Shared::CallEventsHandler value)=0
Sets Call status listener.
virtual ZDK::Shared::Result StartRecording()=0
Start recording call.