IRoom.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
  4. * SPDX-License-Identifier: AGPL-3.0-or-later
  5. */
  6. namespace OCP\Calendar\Room;
  7. /**
  8. * Interface IRoom
  9. *
  10. * @since 14.0.0
  11. */
  12. interface IRoom {
  13. /**
  14. * Get a unique ID for the room
  15. *
  16. * This id has to be unique within the backend
  17. *
  18. * @return string
  19. * @since 14.0.0
  20. */
  21. public function getId():string;
  22. /**
  23. * Get the display name for the room
  24. *
  25. * @return string
  26. * @since 14.0.0
  27. */
  28. public function getDisplayName():string;
  29. /**
  30. * Get a list of groupIds that are allowed to access this room
  31. *
  32. * If an empty array is returned, no group restrictions are
  33. * applied.
  34. *
  35. * @return string[]
  36. * @since 14.0.0
  37. */
  38. public function getGroupRestrictions():array;
  39. /**
  40. * Get the email-address for the room
  41. *
  42. * The email-address has to be globally unique
  43. *
  44. * @return string
  45. * @since 14.0.0
  46. */
  47. public function getEMail():string;
  48. /**
  49. * Get corresponding backend object
  50. *
  51. * @return IBackend
  52. * @since 14.0.0
  53. */
  54. public function getBackend():IBackend;
  55. }