VoIPCallUserAction.swift 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // _____ _
  2. // |_ _| |_ _ _ ___ ___ _ __ __ _
  3. // | | | ' \| '_/ -_) -_) ' \/ _` |_
  4. // |_| |_||_|_| \___\___|_|_|_\__,_(_)
  5. //
  6. // Threema iOS Client
  7. // Copyright (c) 2019-2020 Threema GmbH
  8. //
  9. // This program is free software: you can redistribute it and/or modify
  10. // it under the terms of the GNU Affero General Public License, version 3,
  11. // as published by the Free Software Foundation.
  12. //
  13. // This program is distributed in the hope that it will be useful,
  14. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. // GNU Affero General Public License for more details.
  17. //
  18. // You should have received a copy of the GNU Affero General Public License
  19. // along with this program. If not, see <https://www.gnu.org/licenses/>.
  20. import Foundation
  21. @objc class VoIPCallUserAction: NSObject {
  22. @objc enum Action: Int {
  23. case call
  24. case callWithVideo
  25. case accept
  26. case acceptCallKit
  27. case reject
  28. case rejectDisabled
  29. case rejectTimeout
  30. case rejectBusy
  31. case rejectUnknown
  32. case rejectOffHours
  33. case end
  34. case speakerOn
  35. case speakerOff
  36. case muteAudio
  37. case unmuteAudio
  38. case showCallScreen
  39. case hideCallScreen
  40. }
  41. @objc let action: Action
  42. @objc let contact: Contact
  43. @objc let completion: (() -> Void)?
  44. @objc let callId: VoIPCallId?
  45. @objc init(action: Action, contact: Contact, callId: VoIPCallId?, completion: (() -> Void)?) {
  46. self.action = action
  47. self.contact = contact
  48. self.completion = completion
  49. self.callId = callId
  50. super.init()
  51. }
  52. }