changed attributes of header files
[platform/core/location/maps-plugin-here.git] / inc / engine / finder / ExtendedAttribute.h
1 /*
2  * Copyright (C) 2013 HERE Global B.V. All rights reserved.
3  * This software, including documentation, is protected by copyright controlled by
4  * HERE Global B.V. (“Software”). All rights are reserved. Copying, including reproducing,
5  * storing, adapting or translating, any or all of this material requires the prior
6  * written consent of HERE Global B.V. You may use this
7  * Software in accordance with the terms and conditions defined in the
8  * HERE Location Platform Services Terms and Conditions, available at
9  * http://developer.here.com/terms-conditions-base
10  *
11  * As an additional permission to the above, you may distribute Software,
12  * in object code format as part of an Application, according to, and subject to, terms and
13  * conditions defined in the Tizen Software Development kit (“SDK”) License Agreement.
14  * You may distribute such object code format Application under terms of your choice,
15  * provided that the header and source files of the Software have not been modified.
16  */
17
18 #ifndef EXTENDED_ATTRIBUTE_H_
19 #define EXTENDED_ATTRIBUTE_H_
20
21 #include "common/HereMaps_global.h"
22 #include <vector>
23
24 HERE_MAPS_BEGIN_NAMESPACE
25
26 class ExtendedAttribute;
27 /**
28  * This typedef defines a list of extended attributes as a type.
29  */
30 typedef std::vector< ExtendedAttribute > ExtendedAttributeList;
31
32 /**
33  * This class encapsulates an extended attribute relating to a place. 
34  *
35  * Extended attributes can be used to provide additional information about a
36  * place. They contain a localized label and a text field that can be displayed
37  * without modification.
38  * 
39  * \ingroup finder
40  */
41 class EXPORT_API ExtendedAttribute
42 {
43 public:
44     /**
45      * This method is the default constructor.
46      */
47     ExtendedAttribute();
48
49     /**
50      * This method is the copy constructor.
51      * 
52      * @param rRhs An object whose contents are to be copied to the instance
53      *        being created.
54      */
55     ExtendedAttribute(const ExtendedAttribute& rRhs);
56
57     /**
58      * This method is the (virtual) destructor.
59      */
60     virtual ~ExtendedAttribute();
61
62     /**
63      * This is the assignment operator.
64      * 
65      * @param rRhs An object whose contents are to be copied to the given
66      *        instance.
67      * 
68      * @return A reference to the given instance of the class after its contents
69      *       have been updated.
70      */
71     ExtendedAttribute& operator=(const ExtendedAttribute& rRhs);
72
73     /**
74      * This method retrieves a string that indicates the type of the extended
75      * attribute. 
76      * 
77      * @return A string containing the attribute type identifier.
78      */
79     String GetAttributeType() const;
80
81     /**
82      * This method retrieves the extended attribute label, which is a localized
83      * string identifying the attribute.
84      * 
85      * @return A string containing the extended attribute label.
86      */
87     String GetLabel() const;
88
89     /**
90      * This method retrieves the extended attribute text, which can be displayed
91      * without modification.
92      * 
93      * @return A string containing the extended attribute text.
94      */
95     String GetText() const;
96
97     /**
98      * This method sets the type of the extended attribute.
99      * 
100      * @rsType A constant reference to a string containing the attribute type
101      *        identifier.
102      */
103     void SetAttributeType(const String& rsType);
104
105     /**
106      * This method sets the extended attribute label, which is a localized
107      * string identifying the attribute.
108      * 
109      * @param rsLabel A constant reference to a string containing the extended
110      *        attribute label.
111      */
112     void SetLabel(const String& rsLabel);
113
114     /**
115      * This method sets the extended attribute text, which can be displayed
116      * without modification.
117      * 
118      * @param rsText A constant reference to a string containing the extended
119      *        attribute text.
120      */
121     void SetText(const String& rsText);
122
123 private:
124     class ExtendedAttributeImpl;
125     ExtendedAttributeImpl* m_pImpl;
126
127     friend class JsonParser;
128 };
129
130 HERE_MAPS_END_NAMESPACE
131
132 #endif // EXTENDED_ATTRIBUTE_H_