1<?php 2/** 3 * Copyright 2006-2017 Horde LLC (http://www.horde.org/) 4 * 5 * See the enclosed file COPYING for license information (LGPL). If you 6 * did not receive this file, see http://www.horde.org/licenses/lgpl21. 7 * 8 * @category Horde 9 * @package Perms 10 * @author Gunnar Wrobel <wrobel@pardus.de> 11 * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 12 */ 13 14/** 15 * Defines a Kolab storage object that supports permission handling. 16 * 17 * @category Horde 18 * @package Perms 19 * @author Gunnar Wrobel <wrobel@pardus.de> 20 * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 21 */ 22interface Horde_Perms_Permission_Kolab_Storage 23{ 24 /** 25 * Return the ID of this storage object. 26 * 27 * @return string The ID. 28 */ 29 public function getPermissionId(); 30 31 /** 32 * Return the owner of this storage object. 33 * 34 * @return string The owner. 35 */ 36 public function getOwner(); 37 38 /** 39 * Retrieve the Kolab specific access rights for this storage object. 40 * 41 * @return An array of rights. 42 */ 43 public function getAcl(); 44 45 /** 46 * Set the Kolab specific access rights for this storage object. 47 * 48 * @param string $user The user to set the ACL for. 49 * @param string $acl The ACL. 50 * 51 * @return NULL 52 */ 53 public function setAcl($user, $acl); 54 55 /** 56 * Delete Kolab specific access rights for this storage object. 57 * 58 * @param string $user The user to delete the ACL for 59 * 60 * @return NULL 61 */ 62 public function deleteAcl($user); 63}