change confirm popup
[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 the 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        Either of the following conditions has occurred: @n
96          *                                              - The method cannot proceed due to a severe system error. @n
97          *                                              - The method has failed because it does not work on a service application.
98          * @remarks     The specific error code can be accessed using the GetLastResult() method.
99          */
100         Tizen::Graphics::Bitmap* GetFaviconN(void) const;
101
102 private:
103         //
104         // This default constructor is intentionally declared as private to implement the Singleton semantic
105         //
106         // @remarks             This constructor is hidden.
107         //
108         HistoryItem(void);
109
110         //
111         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
112         //
113         // @param[in]   item            The instance of the %HistoryItem class to copy from
114         // @remarks             This constructor is hidden.
115         //
116         HistoryItem(const HistoryItem& item);
117
118         //
119         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
120         //
121         // @param[in]   item            The instance of the %HistoryItem class to assign from
122         // @remarks             This operator is hidden.
123         //
124         HistoryItem& operator =(const HistoryItem& item);
125
126 private:
127         _HistoryItemImpl* __pHistoryItemImpl;
128
129         friend class Tizen::Web::Controls::_WebImpl;
130
131         friend class _HistoryItemImpl;
132
133         friend class _WebHistoryImpl;
134 }; // HistoryItem
135
136 }} // Tizen::Web
137 #endif // _FWEB_HISTORY_ITEM_H_