| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- declare(strict_types=1);
- namespace Sabre\DAV\Sharing;
- use Sabre\DAV\INode;
- /**
- * This interface represents a resource that has sharing capabilities, either
- * because it's possible for an owner to share the resource, or because this is
- * an instance of a shared resource.
- *
- * @copyright Copyright (C) fruux GmbH. (https://fruux.com/)
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
- interface ISharedNode extends INode
- {
- /**
- * Returns the 'access level' for the instance of this shared resource.
- *
- * The value should be one of the Sabre\DAV\Sharing\Plugin::ACCESS_
- * constants.
- *
- * @return int
- */
- public function getShareAccess();
- /**
- * This function must return a URI that uniquely identifies the shared
- * resource. This URI should be identical across instances, and is
- * also used in several other XML bodies to connect invites to
- * resources.
- *
- * This may simply be a relative reference to the original shared instance,
- * but it could also be a urn. As long as it's a valid URI and unique.
- *
- * @return string
- */
- public function getShareResourceUri();
- /**
- * Updates the list of sharees.
- *
- * Every item must be a Sharee object.
- *
- * @param \Sabre\DAV\Xml\Element\Sharee[] $sharees
- */
- public function updateInvites(array $sharees);
- /**
- * Returns the list of people whom this resource is shared with.
- *
- * Every item in the returned array must be a Sharee object with
- * at least the following properties set:
- *
- * * $href
- * * $shareAccess
- * * $inviteStatus
- *
- * and optionally:
- *
- * * $properties
- *
- * @return \Sabre\DAV\Xml\Element\Sharee[]
- */
- public function getInvites();
- }
|