Implementation of ImmutableString
[platform/framework/native/appfw.git] / inc / FAppIAppControlListener.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                        FAppIAppControlListener.h
19  * @brief                       This is the header file for the %IAppControlListener interface.
20  *
21  * This header file contains the declarations of the %IAppControlListener interface.
22  */
23
24 #ifndef _FAPP_IAPP_CONTROL_LISTENER_H_
25 #define _FAPP_IAPP_CONTROL_LISTENER_H_
26
27 #include <FAppIAppControlEventListener.h>
28
29 namespace Tizen { namespace App { class AppControl; } }
30 namespace Tizen { namespace Base { class String; } }
31 namespace Tizen { namespace Base { namespace Collection { class IList; } } }
32
33 namespace Tizen { namespace App
34 {
35
36 /**
37  * @if OSPDEPREC
38  * @interface   IAppControlListener
39  * @brief               <i>[Deprecated]</i> This interface defines a listener for the AppControl start and result events.
40  *
41  * @deprecated  This interface is deprecated. Instead of using this interface, use the IAppControlResponseListener interface.
42  * @since               2.0
43  *
44  * The %IAppControlListener interface defines a listener for the AppControl start and result events.
45  * @endif
46  */
47 class _OSP_EXPORT_ IAppControlListener
48         : public IAppControlEventListener
49         , virtual public Tizen::Base::Runtime::IEventListener
50 {
51 public:
52         /**
53      * @if OSPDEPREC
54          * This polymorphic destructor should be overridden if required.
55          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
56          *
57          * @brief               <i>[Deprecated]</i>
58          *
59          * @deprecated  This interface is deprecated. Instead of using this interface, use the IAppControlResponseListener interface.
60          * @since       2.0
61          * @endif
62          */
63         virtual ~IAppControlListener(void) {}
64
65         /**
66          * @if OSPDEPREC
67          * Called when the application control is about to start. @n
68          * The client can get the callback result for some application controls by implementing this listener.
69          *
70          * @brief               <i>[Deprecated]</i>
71          *
72          * @deprecated  This interface is deprecated. Instead of using this interface, use the IAppControlResponseListener interface.
73          * @since                       2.0
74          *
75          * @param[in]   pAppControl                     A pointer to the AppControl instance that is started
76          * @param[in]   r                                       The error code
77          * @exception   E_SUCCESS                       The method is successful.
78          * @exception   E_SYSTEM                        A system error has occurred.
79          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
80          * @exception   E_IN_PROGRESS           The target AppControl is in progress.
81          * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
82          * @see         AppControl::Start()
83          * @see         AppManager::StartAppControl()
84          * @endif
85          */
86         virtual void OnAppControlStarted(const AppControl* pAppControl, result r) = 0;
87
88 protected:
89         //
90         // This method is for internal use only.
91         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
92         //
93         // @since       2.0
94         //
95         virtual void IAppControlListener_Reserved1() {}
96
97         //
98         // This method is for internal use only.
99         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
100         //
101         // @since       2.0
102         //
103         virtual void IAppControlListener_Reserved2() {}
104 }; // IAppControlListener
105
106 } } // Tizen::App
107
108 #endif // _FAPP_IAPP_CONTROL_LISTENER_H_