changed attributes of header files
[platform/core/location/maps-plugin-here.git] / inc / engine / finder / ContactDetails.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 CONTACT_DETAILS_H_
19 #define CONTACT_DETAILS_H_
20
21 #include <vector>
22
23 #include "common/HereMaps_global.h"
24
25 HERE_MAPS_BEGIN_NAMESPACE
26
27 class EXPORT_API ContactDetails;
28 /**
29  * This typedef defines a type representing a list of <code>ContactDetails</code>
30  * instances.
31  */
32 typedef std::vector<ContactDetails> ContactDetailsList;
33
34 /**
35  * This class encapsulates contact information relating to a place.
36  *
37  * \ingroup finder
38  */
39 class ContactDetails
40 {
41 public:
42     /**
43      * This method is the default constructor.
44      */
45     ContactDetails();
46
47    /**
48     * This method is the copy constructor.
49     *
50     * @param rRhs An object whose contents are to be copied to the instance
51     *        being created.
52     */
53     ContactDetails(const ContactDetails& rRhs);
54
55    /**
56     * This method is the destructor.
57     */
58      ~ContactDetails();
59
60    /**
61     * This is the assignment operator.
62     *
63     * @param rRhs An object whose contents are to be copied to the given
64     *        instance.
65     *
66     * @return A reference to the given instance of the class after its contents
67     *       have been updated.
68     */
69     ContactDetails& operator=(const ContactDetails& rRhs);
70
71     /**
72      * This method retrieves the contact type, which can be telephone, e-mail,
73      * website, site, etc.
74      *
75      * @return A string containing the contact type identifier. The possible
76      *       values are "phone", "website", "fax", or "email".
77      */
78     String GetContactType() const;
79
80     /**
81      * This method retrieves the contact detail label, which is a localized
82      * string identifying the purpose of the contact, for example "Phone",
83      * "Mobile". Note that label is accompanied by a "value" filed, which for
84      * example for a "Phone" contains the telephone number.
85      *
86      * @return A string containing the contact label.
87      */
88     String GetLabel() const;
89
90     /**
91      * This method retrieves the value for the associated contact label.
92      *
93      * @return A string containing the value corresponding to the contact label.
94      */
95     String GetValue() const;
96
97     /**
98      * This method sets the contact type, which can be telephone, e-mail,
99      * website, site, etc.
100      *
101      * @param rsName A string containing the contact type identifier.  The
102      *       possible values are "phone", "website", "fax", or "email".
103      */
104     void SetContactType(const String& rsName);
105
106     /**
107      * This method sets the contact detail label, which is a localized
108      * string identifying the purpose of the contact, for example "Phone",
109      * "Mobile". Note that label is accompanied by a "value" filed, which for
110      * example for a "Phone" contains the telephone number.
111      *
112      * @param rsLabel A string containing the contact label.
113      */
114     void SetLabel(const String& rsLabel);
115
116     /**
117      * This method sets the value for the contact label.
118      *
119      * @param rsValue A string containing the value corresponding to the contact
120      *       label (for example, if the label is "Phone", the value is the
121      *       telephone number).
122      */
123     void SetValue(const String& rsValue);
124
125 private:
126     class ContactDetailsImpl;
127     ContactDetailsImpl* m_pImpl;
128
129     friend class JsonParser;
130 };
131
132 HERE_MAPS_END_NAMESPACE
133
134 #endif // CONTACT_DETAILS_H_