1: <?php
2: /**
3: * This interface defines a user accessing the export system.
4: *
5: * PHP version 5
6: *
7: * @category Kolab
8: * @package Kolab_FreeBusy
9: * @author Gunnar Wrobel <wrobel@pardus.de>
10: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
11: * @link http://pear.horde.org/index.php?package=Kolab_FreeBusy
12: */
13:
14: /**
15: * This interface defines a user accessing the export system.
16: *
17: * Copyright 2010-2012 Horde LLC (http://www.horde.org/)
18: *
19: * See the enclosed file COPYING for license information (LGPL). If you did not
20: * receive this file, see
21: * http://www.horde.org/licenses/lgpl21.
22: *
23: * @category Kolab
24: * @package Kolab_FreeBusy
25: * @author Gunnar Wrobel <wrobel@pardus.de>
26: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
27: * @link http://pear.horde.org/index.php?package=Kolab_FreeBusy
28: */
29: interface Horde_Kolab_FreeBusy_User
30: {
31: /**
32: * Return the primary id of the user accessing the system.
33: *
34: * @return string The primary id.
35: */
36: public function getPrimaryId();
37:
38: /**
39: * Return the password of the user accessing the system.
40: *
41: * @return string The password.
42: */
43: public function getPassword();
44:
45: /**
46: * Return the primary domain of the user accessing the system.
47: *
48: * @return string The primary domain.
49: */
50: public function getDomain();
51:
52: /**
53: * Return the groups this user is member of.
54: *
55: * @return array The groups for this user.
56: */
57: public function getGroups();
58:
59: /**
60: * Finds out if a set of login credentials are valid.
61: *
62: * @return boolean Whether or not the password was correct.
63: */
64: public function isAuthenticated();
65: }