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