Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_PublicLinkEvent.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 * @file                 FUiCtrl_PublicLinkEvent.h
19 * @brief                This is the header file for _PublicLinkEvent class.
20 *
21 * This header file contains declaration of _PublicLinkEvent class.
22 *
23 */
24
25 #ifndef _FUI_CTRL_PUBLIC_LINK_EVENT_H_
26 #define _FUI_CTRL_PUBLIC_LINK_EVENT_H_
27
28 #include <FBaseResult.h>
29 #include <FBaseRt_Event.h>
30 #include <FOspConfig.h>
31 #include <FUiIUiLinkEventListener.h>
32
33 namespace Tizen { namespace Ui
34 {
35 class Control;
36 }} // Tizen::Ui
37
38 namespace Tizen { namespace Ui { namespace Controls
39 {
40
41 /**
42 * @class        _PublicLinkEvent
43 * @brief        This class handles a keypad event event. It is inherited from Event class.
44 *
45 */
46 class _PublicLinkEvent
47         : public Tizen::Base::Runtime::_Event
48 {
49 // Lifecycle
50 public:
51         /**
52         * This is the default class destructor.
53         *
54         */
55         virtual ~_PublicLinkEvent(void);
56
57         static _PublicLinkEvent* CreateInstanceN(const Tizen::Ui::Control& source);
58
59 // Accessors
60         /**
61         * This method returns the owner of this event.
62         *
63         * @return               See the comment above.
64         */
65         const Tizen::Ui::Control* GetSource(void) const;
66
67         static Tizen::Base::Runtime::IEventArg* CreateLinkEventArgN(Tizen::Base::String text, Tizen::Base::Utility::LinkType linkType, Tizen::Base::String link);
68
69         // Operations
70 protected:
71         /**
72         * This is the default class constructor.
73         *
74         * @remarks              After creating an instance of this class, you must explicitly call one of
75         *                               construction methods to initialize the instance.
76         *
77         */
78         _PublicLinkEvent(const Tizen::Ui::Control& source);
79
80         /**
81         * This method checks the arg and finds out the type of event. After that this method calls appopriate
82         * pListener's method.
83         *
84         * @param[in]    listener        It is a event listener related to this item event.
85         * @param[in]    arg                     It is an argument-like instance of item event retransmitted to the listener's method
86         *                                                       as an argument.
87         * @exception    E_SUCCESS               - The method is successful.
88         * @exception    E_ARG_NULL              - The listener is null.
89         * @exception    E_INVALID_ARG   - The argument passed to a method contains an invalid value.@n
90         *                                                                 &nbsp;&nbsp;The pListener is not the instance of IItemEventListener class or
91         *                                                                 the pItemEventArg is not the instance of _CustomItemEventArg class.
92         *
93         */
94         virtual void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
95
96         //Attributess
97 private:
98         const Tizen::Ui::Control* __pSource;
99 }; // _PublicLinkEvent
100
101 }}} // Tizen::Ui::Controls
102
103 #endif  // _FUI_CTRL_PUBLIC_LINK_EVENT_H_