1: <?php
2: /**
3: * The Horde_SyncMl_Property class is used to define a single property of a
4: * data item supported by the device.
5: *
6: * The allowed contents of a property can be defined by an enumeration of
7: * valid values (ValEnum) or by a DataType/Size combination, or not at all.
8: *
9: * Copyright 2005-2012 Horde LLC (http://www.horde.org/)
10: *
11: * See the enclosed file COPYING for license information (LGPL). If you
12: * did not receive this file, see http://www.horde.org/licenses/lgpl21.
13: *
14: * @author Karsten Fourmont <karsten@horde.org>
15: * @author Jan Schneider <jan@horde.org>
16: * @package SyncMl
17: */
18: class Horde_SyncMl_Property
19: {
20: /**
21: * The supported enumerated values of the content type property.
22: *
23: * The supported values stored in the keys of the hash, e.g. 'PUBLIC' and
24: * 'PRIVATE' for a text/calendar 'CLASS' property.
25: *
26: * @var array
27: */
28: public $ValEnum;
29:
30: /**
31: * The datatype of the content type property, e.g. 'chr', 'int', 'bool',
32: * etc.
33: *
34: * @var string
35: */
36: public $DataType;
37:
38: /**
39: * The size of the content type property in bytes.
40: *
41: * @var integer
42: */
43: public $Size;
44:
45: /**
46: * The display name of the content type property.
47: *
48: * @var string
49: */
50: public $DisplayName;
51:
52: /**
53: * The supported parameters of the content type property.
54: *
55: * The parameter name (<ParamName>, e.g. 'WORK' for the text/x-vcard 'TEL'
56: * property) are the keys, Horde_SyncMl_PropertyParameter objects are the
57: * values.
58: *
59: * @var array
60: */
61: public $Params;
62: }
63: