Init Tizen 2.2.1
[framework/osp/web.git] / inc / FWebHistoryItem.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                FWebHistoryItem.h
20  * @brief               This is the header file for the %HistoryItem class.
21  *
22  * This header file contains the declarations of the %HistoryItem class.
23  */
24 #ifndef _FWEB_HISTORY_ITEM_H_
25 #define _FWEB_HISTORY_ITEM_H_
26
27 #include <FBaseObject.h>
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 _HistoryItemImpl;
38 class _WebHistoryImpl;
39 }} // Tizen::Web
40
41 namespace Tizen { namespace Web { namespace Controls
42 {
43 class _WebImpl;
44 }}} // Tizen::Web::Controls
45
46 namespace Tizen { namespace Web
47 {
48
49 /**
50  * @class               HistoryItem
51  * @brief               This class is used for accessing a history item stored in the %PageNavigationList class or the %WebHistory class.
52  *
53  * @since               2.0
54  *
55  * The %HistoryItem class provides access to the Controls::PageNavigationList class item and the WebHistory class.
56  * Each item contains the title and URL of the page visited.
57  */
58 class _OSP_EXPORT_ HistoryItem
59         : public Tizen::Base::Object
60 {
61 public:
62         /**
63          * This destructor overrides Tizen::Base::Object::~Object().
64          *
65          * @since               2.0
66          */
67         virtual ~HistoryItem(void);
68
69         /**
70          * Gets the page title of the current history item.
71          *
72          * @since               2.0
73          *
74          * @return      The title of the current history item
75          */
76         Tizen::Base::String GetTitle(void) const;
77
78         /**
79          * Gets the URL of the current history item.
80          *
81          * @since               2.0
82          *
83          * @return      The URL of the current history item
84          */
85         Tizen::Base::String GetUrl(void) const;
86
87         /**
88          * Gets the favicon image from %HistoryItem.
89          *
90          * @since       2.0
91          *
92          * @return              The image
93          *
94          * @exception   E_SUCCESS       The method is successful.
95          * @exception   E_SYSTEM        The method cannot proceed due to a severe system error.
96          * @remarks     The specific error code can be accessed using the GetLastResult() method.
97          */
98         Tizen::Graphics::Bitmap* GetFaviconN(void) const;
99
100 private:
101         //
102         // This default constructor is intentionally declared as private to implement the Singleton semantic
103         //
104         // @remarks             This constructor is hidden.
105         //
106         HistoryItem(void);
107
108         //
109         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
110         //
111         // @param[in]   item            The instance of the %HistoryItem class to copy from
112         // @remarks             This constructor is hidden.
113         //
114         HistoryItem(const HistoryItem& item);
115
116         //
117         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
118         //
119         // @param[in]   item            The instance of the %HistoryItem class to assign from
120         // @remarks             This operator is hidden.
121         //
122         HistoryItem& operator =(const HistoryItem& item);
123
124 private:
125         _HistoryItemImpl* __pHistoryItemImpl;
126
127         friend class Tizen::Web::Controls::_WebImpl;
128
129         friend class _HistoryItemImpl;
130
131         friend class _WebHistoryImpl;
132 }; // HistoryItem
133
134 }} // Tizen::Web
135 #endif // _FWEB_HISTORY_ITEM_H_