Synchronized tizen_2.1 branch with master
[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 result of the network settings.
38 *
39 * @since 2.0
40 *
41 * The %ITelephonyNetworkSettingListener interface provides result of the network search and response by 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. This way, the destructors of the derived classes are called when the destructor of this interface is called.
49      *
50      * @since 2.0
51      */
52     virtual ~ITelephonyNetworkSettingListener(void) {}
53
54     /**
55      * Called when a response of the network selection mode request is received.
56      *
57      * @since 2.0
58      *
59      * @param[in]   isManual    @c true if the network selection is in manual mode, @n
60      *                          else @c false
61      * @param[in]   r           An error code
62      * @exception   E_SUCCESS                  The method is successful.
63      * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
64      * @exception   E_SYSTEM                     The method cannot proceed due to a severe telephony modem error.
65      * @see NetworkManager::GetNetworkSelectionMode()
66      */
67     virtual void OnTelephonyNetworkSelectionModeReceived(bool isManual, result r) = 0;
68
69     /**
70      * Called when the network search process is completed.
71      *
72      * @since 2.0
73      *
74      * @param[in]   pNetworkInfoList    The list of NetworkInfo information representing the network discovered by the search
75      * @param[in]   r                   An error code
76      * @exception   E_SUCCESS           The method is successful.
77      * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
78      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
79      * @see NetworkManager::SearchNetwork()
80      */
81     virtual void OnTelephonyNetworkSearchCompletedN(Tizen::Base::Collection::IList* pNetworkInfoList, result r) = 0;
82
83     /**
84      * Called when a response of the network selection request is completed.
85      *
86      * @since 2.0
87      *
88      * @param[in]   r   An error code
89      * @exception   E_SUCCESS           The method is successful.
90      * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
91      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
92      * @see NetworkManager::SelectNetwork()
93      */
94     virtual void OnTelephonyNetworkSelectionCompleted(result r) = 0;
95
96 protected:
97     //
98     // This method is for internal use only. Using this method can cause behavioral, security-related,
99     // and consistency-related issues in the application.
100     //
101     // This method is reserved and may change its name at any time without prior notice.
102     //
103     // @since 2.0
104     //
105     virtual void ITelephonyNetworkSettingListener_Reserved1(void) {}
106
107     //
108     // This method is for internal use only. Using this method can cause behavioral, security-related,
109     // and consistency-related issues in the application.
110     //
111     // This method is reserved and may change its name at any time without prior notice.
112     //
113     // @since 2.0
114     //
115     virtual void ITelephonyNetworkSettingListener_Reserved2(void) {}
116
117     //
118     // This method is for internal use only. Using this method can cause behavioral, security-related,
119     // and consistency-related issues in the application.
120     //
121     // This method is reserved and may change its name at any time without prior notice.
122     //
123     // @since 2.0
124     //
125     virtual void ITelephonyNetworkSettingListener_Reserved3(void) {}
126 }; // ITelephonyNetworkSettingListener
127
128 }} // Tizen::Telephony
129 #endif // _FTEL_ITELEPHONY_NETWORK_SETTING_LISTENER_H_
130