Merge from 2.2
[platform/framework/native/telephony.git] / inc / FTelITelephonyNetworkSettingListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 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 * @file    FTelITelephonyNetworkSettingListener.h
19 * @brief   This is the header file for the %ITelephonyNetworkSettingListener interface.
20 *
21 * This header file contains the declarations of the %ITelephonyNetworkSettingListener interface.
22 */
23 #ifndef _FTEL_ITELEPHONY_NETWORK_SETTING_LISTENER_H_
24 #define _FTEL_ITELEPHONY_NETWORK_SETTING_LISTENER_H_
25
26 #include <FBaseRtIEventListener.h>
27
28 namespace Tizen { namespace Base { namespace Collection
29 {
30 class IList;
31 } } } // Tizen::Base::Collection
32
33 namespace Tizen { namespace Telephony
34 {
35 /**
36 * @interface   ITelephonyNetworkSettingListener
37 * @brief       This interface provides the result of the network settings.
38 *
39 * @since 2.0
40 *
41 * The %ITelephonyNetworkSettingListener interface provides the result of a network search and response performed in the selection mode.
42 */
43 class _OSP_EXPORT_ ITelephonyNetworkSettingListener
44     : virtual public Tizen::Base::Runtime::IEventListener
45 {
46 public:
47     /**
48      * This polymorphic destructor should be overridden if required. @n
49          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
50      *
51      * @since 2.0
52      */
53     virtual ~ITelephonyNetworkSettingListener(void) {}
54
55     /**
56      * Called when the response of the network selection mode request is received.
57      *
58      * @since 2.0
59      *
60      * @param[in]   isManual                    @c true if the network selection is done in the manual mode, @n
61      *                                          else @c false
62      * @param[in]   r                           An error code
63      * @exception   E_SUCCESS           The method is successful.
64      * @exception   E_NOT_RESPONDING    The server of the telephony network is not responding.
65      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
66      * @see NetworkManager::GetNetworkSelectionMode()
67      */
68     virtual void OnTelephonyNetworkSelectionModeReceived(bool isManual, result r) = 0;
69
70     /**
71      * Called when the network search process is completed.
72      *
73      * @since 2.0
74      *
75      * @param[in]   pNetworkInfoList    The list of NetworkInfo information that represents the network discovered by the search
76      * @param[in]   r                   An error code
77      * @exception   E_SUCCESS           The method is successful.
78      * @exception   E_NOT_RESPONDING    The server of the telephony network is not responding.
79      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
80      * @see NetworkManager::SearchNetwork()
81      */
82     virtual void OnTelephonyNetworkSearchCompletedN(Tizen::Base::Collection::IList* pNetworkInfoList, result r) = 0;
83
84     /**
85      * Called when the response of the network selection request is completed.
86      *
87      * @since 2.0
88      *
89      * @param[in]   r                                   An error code
90      * @exception   E_SUCCESS           The method is successful.
91      * @exception   E_NOT_RESPONDING    The server of the telephony network is not responding.
92      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
93      * @see NetworkManager::SelectNetwork()
94      */
95     virtual void OnTelephonyNetworkSelectionCompleted(result r) = 0;
96
97 protected:
98     //
99     // This method is for internal use only. Using this method can cause behavioral, security-related,
100     // and consistency-related issues in the application.
101     //
102     // This method is reserved and may change its name at any time without prior notice.
103     //
104     // @since 2.0
105     //
106     virtual void ITelephonyNetworkSettingListener_Reserved1(void) {}
107
108     //
109     // This method is for internal use only. Using this method can cause behavioral, security-related,
110     // and consistency-related issues in the application.
111     //
112     // This method is reserved and may change its name at any time without prior notice.
113     //
114     // @since 2.0
115     //
116     virtual void ITelephonyNetworkSettingListener_Reserved2(void) {}
117
118     //
119     // This method is for internal use only. Using this method can cause behavioral, security-related,
120     // and consistency-related issues in the application.
121     //
122     // This method is reserved and may change its name at any time without prior notice.
123     //
124     // @since 2.0
125     //
126     virtual void ITelephonyNetworkSettingListener_Reserved3(void) {}
127 }; // ITelephonyNetworkSettingListener
128
129 }} // Tizen::Telephony
130 #endif // _FTEL_ITELEPHONY_NETWORK_SETTING_LISTENER_H_
131