Move system-server under server/system.
[platform/framework/native/appfw.git] / inc / FAppIAppControlEventListener.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file                        FAppIAppControlEventListener.h
19  * @brief                       This is the header file for the %IAppControlEventListener interface.
20  *
21  * This header file contains the declarations of the %IAppControlEventListener interface.
22  */
23
24 #ifndef _FAPP_IAPP_CONTROL_EVENT_LISTENER_H_
25 #define _FAPP_IAPP_CONTROL_EVENT_LISTENER_H_
26
27 #include <FBaseRtIEventListener.h>
28
29 namespace Tizen { namespace Base { class String; } }
30 namespace Tizen { namespace Base { namespace Collection { class IList; } } }
31
32 namespace Tizen { namespace App
33 {
34
35 /**
36 * @if OSPDEPREC
37 * @interface    IAppControlEventListener
38 * @brief                <i>[Deprecated]</i> This interface defines a listener for the AppControl result events.
39 *
40 * @deprecated   This interface is deprecated. Instead of using this interface, use the IAppControlResponseListener interface.
41 * @since        2.0
42 *
43 * The %IAppControlEventListener interface defines a listener for the AppControl result events.
44 * @endif
45 */
46 class _OSP_EXPORT_ IAppControlEventListener
47         : virtual public Tizen::Base::Runtime::IEventListener
48 {
49 public:
50         /**
51          * @if OSPDEPREC
52          * This polymorphic destructor should be overridden if required.
53          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
54          *
55          * @brief       <i> [Deprecated] </i>
56          *
57          * @deprecated  This interface is deprecated. Instead of using this interface, use the IAppControlResponseListener interface.
58          * @since       2.0
59          * @endif
60          */
61         virtual ~IAppControlEventListener(void) {}
62
63         /**
64          * @if OSPDEPREC
65          * Called when the application control is completed. @n
66          * The client can get callback result for some application controls by implementing this listener. @n
67          * %OnAppControlCompleted() is called after AppControl::Start() with listener for some application controls.
68          *
69          * @brief       <i> [Deprecated] </i>
70          *
71          * @deprecated  This interface is deprecated. Instead of using this interface, use the IAppControlResponseListener interface.
72          * @since       2.0
73          *
74          * @param[in]   providerId      The provider ID
75          * @param[in]   operationId             The operation ID used in application control invocation
76          * @param[in]   pResultList             The list of callback strings of application control
77          *
78          * @remarks     The specified @c pResultList provides the result code for the first array element.
79          * @remarks     When the invoked application control is terminated without sending a result,
80          *           then this method is invoked with @c pResultList and it contains App::APPCONTROL_RESULT_TERMINATED.
81          * @remarks     Switching forms using Tizen::Ui::Controls::Frame::SetCurrentForm() in this listener disables the upcoming form
82          *           (UiApp::OnForeground()). If %UiApp::OnForeground() is being used in the application logic,
83          *                      it is recommended to avoid switching forms in this listener.
84          * @see         Tizen::App::AppControl
85          * @endif
86          */
87         virtual void OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList) = 0;
88
89 protected:
90         //
91         // This method is for internal use only.
92         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
93         //
94         // This method is reserved and may change its name at any time without prior notice.
95         //
96         // @since       2.0
97         //
98         virtual void IAppControlEventListener_Reserved1(void) {}
99
100         //
101         // This method is for internal use only.
102         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
103         //
104         // This method is reserved and may change its name at any time without prior notice.
105         //
106         // @since       2.0
107         //
108         virtual void IAppControlEventListener_Reserved2(void) {}
109
110         //
111         // This method is for internal use only.
112         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
113         //
114         // This method is reserved and may change its name at any time without prior notice.
115         //
116         // @since       2.0
117         //
118         virtual void IAppControlEventListener_Reserved3(void) {}
119 }; // IAppControlEventListener
120
121 } } // Tizen::App
122
123 #endif // _FAPP_IAPP_CONTROL_EVENT_LISTENER_H_