Fork for IVI: mesa fixing
[profile/ivi/uifw.git] / src / ui / inc / FUiCtrl_IUiLinkEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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                FUiCtrl_IUiLinkEventListener.h
20  * @brief               This file defines the _IUiLinkEventListener interface.
21  * @version             3.0
22  *
23  * This file contains the declarations of _IUiLinkEventListener interface.
24  */
25
26 #ifndef _FUI_CTRL_INTERNAL_IUI_LINK_EVENT_LISTENER_H_
27 #define _FUI_CTRL_INTERNAL_IUI_LINK_EVENT_LISTENER_H_
28
29 // includes
30 #include <FBaseRtIEventListener.h>
31 #include <FBaseUtilTypes.h>
32
33 namespace Tizen { namespace Ui
34 {
35 class _Control;
36 }} // Tizen::Ui
37
38 // namespace declaration
39 namespace Tizen { namespace Ui { namespace Controls
40 {
41
42 /**
43  * @interface    _IUiLinkEventListener
44  * @brief        This interface implements the listener for link events.
45  * @since 2.0
46  *
47  * The _IUiLinkEventListener interface enables the implementer to receive the
48  * link click event.
49  */
50 class _IUiLinkEventListener
51         : virtual public Tizen::Base::Runtime::IEventListener
52 {
53 // Lifecycle
54 public:
55         /**
56          * This is the destructor for this class.
57          *
58          * @since 2.0
59          */
60         virtual ~_IUiLinkEventListener(void) {}
61
62         // Operation
63 public:
64         /**
65          * Notifies that a link is clicked.
66          *
67          * @since 2.0
68          * @param[in]     source   The source of the event
69          * @param[in]     text     The text.
70          * @param[in]     linkType The link type.
71          * @param[in]     link     The optional link text.
72          * @remarks       If clicked link does not contain optional link text then, the value of @c text and @c link will be the same.
73          */
74         virtual void OnLinkClicked(Tizen::Ui::_Control& source, const Tizen::Base::String& text, Tizen::Base::Utility::LinkType linkType, const Tizen::Base::String& link) = 0;
75 }; // _IUiLinkEventListener
76
77 }}} // Tizen::Ui::Controls
78
79 #endif  // _FUI_CTRL_INTERNAL_IUI_LINK_EVENT_LISTENER_H_