Remove warning message and Update doxygen
[framework/osp/web.git] / inc / FWebBookmarkItem.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FWebBookmarkItem.h
20  * @brief               This is the header file for the %BookmarkItem class.
21  *
22  * This header file contains the declarations of the %BookmarkItem class.
23  */
24
25 #ifndef _FWEB_BOOKMARK_ITEM_H_
26 #define _FWEB_BOOKMARK_ITEM_H_
27
28 #include <FBaseString.h>
29
30 namespace Tizen { namespace Graphics
31 {
32 class Bitmap;
33 }} // Tizen::Graphics
34
35 namespace Tizen { namespace Web
36 {
37 class _BookmarkItemImpl;
38
39 /**
40  * A unique ID. This ID is unique within a local storage only. @n
41  * @c RecordId is assigned by the local storage when a record is saved to the storage. @n
42  * 
43  *
44  * @since               2.1
45  */
46 typedef int RecordId;
47
48 /**
49  * The root folder ID. @n
50  * In fact, it is symbolic value because the root folder record doesn't exist physically.
51  *
52  * @since               2.1
53  */
54 const RecordId ROOT_FOLDER_ID = -1;
55
56 /**
57 * @class                BookmarkItem
58 * @brief                This class is used for accessing a bookmark item stored in the WebBookmark class.
59 *
60 * @since                2.1
61 * @final                This class is not intended for extension.
62 *
63 * The %BookmarkItem class provides access to the WebBookmark class.
64 * Each item contains the title, the URL of the page, the item type and parent folder id.
65 */
66 class _OSP_EXPORT_ BookmarkItem
67         : public Tizen::Base::Object
68 {
69 public:
70
71         /**
72          * Copying of objects using this copy constructor is allowed.
73          * This is the copy constructor for the %BookmarkItem class. @n
74          * It creates an instance of %BookmarkItem with the values of the specified instance.
75          *
76          * @since               2.1
77          *
78          * @param[in] rhs An instance of %BookmarkItem
79          */
80         BookmarkItem(const BookmarkItem& rhs);
81
82         /**
83          * This destructor overrides Tizen::Base::Object::~Object().
84          *
85          * @since               2.1
86          */
87         virtual ~BookmarkItem(void);
88
89         /**
90          * Gets the title from the current bookmark item.
91          *
92          * @since               2.1
93          *
94          * @return              The title of the current bookmark item
95          */
96         Tizen::Base::String GetTitle(void) const;
97
98         /**
99          * Gets the URL from the current bookmark item.
100          *
101          * @since               2.1
102          *
103          * @return              The URL of the current bookmark item @n
104          *                              If the item type is folder, this method will return the empty string.
105          * @see IsFolder()
106          */
107         Tizen::Base::String GetUrl(void) const;
108
109         /**
110          * Gets the favicon image from current bookmark item.
111          *       
112          * @since               2.1
113          *
114          * @return              The image
115          *
116          * @exception   E_SUCCESS       The method is successful.
117          * @exception   E_SYSTEM        Either of the following conditions has occurred: @n
118          *                                              - The method cannot proceed due to a severe system error. @n
119          *                                              - The method has failed because it doesn't work on a service application.
120          * @remarks     The specific error code can be accessed using the GetLastResult() method.
121          */
122         Tizen::Graphics::Bitmap* GetFaviconN(void) const;
123
124         /**
125          * Gets the parent folder id of the current bookmark item. 
126          *
127          * @since               2.1
128          *
129          * @return              The parent folder id of the current bookmark item @n
130          *                              If the current bookmark item is the one in topmost level, this method will return ::ROOT_FOLDER_ID.
131          */
132         RecordId GetParentFolderId(void) const;
133
134         /**
135          * Checks whether the type of current bookmark item is folder or not.
136          *
137          * @since               2.1
138          *
139          * @return              @c true if the type of current bookmark item is folder, @n
140          *                                      else @c false
141          */
142         bool IsFolder(void) const;
143
144         /**
145          * Gets the hash value of the current instance.
146          *
147          * @since               2.1
148          *
149          * @return              The hash value of the current instance
150          */
151         virtual int GetHashCode(void) const;
152
153         /**
154          * Compares two instances of the %BookmarkItem class.
155          *
156          * @since               2.1
157          *
158          * @return              @c true if the two instances match, or if and only if the two instances contain the same elements, @n
159          *                                      else @c false @n
160          * @param[in]   obj                             The object to compare with the current instance
161          * @see Tizen::Base::Object::Equals()
162          */
163         virtual bool Equals(const Tizen::Base::Object& obj) const;
164
165         /**
166          * Copying of objects using this copy assignment operator is allowed. 
167          *
168          * @since               2.1
169          *
170          * @param[in]   rhs                     The instance of the %BookmarkItem class to assign from
171          */
172         BookmarkItem& operator =(const BookmarkItem& rhs);
173
174 private:
175         //
176         // This default constructor is intentionally declared as private to implement the Singleton semantic
177         //
178         // @remarks     This constructor is hidden.
179         //
180         BookmarkItem(void);
181
182 private:
183         _BookmarkItemImpl* __pBookmarkItemImpl;
184
185         friend class _BookmarkItemImpl;
186
187         friend class _WebBookmarkImpl;
188 };
189
190 }}
191 #endif // _FWEB_BOOKMARK_ITEM_H_