8c8bc4f60698d7e7232546466a1ab942bd2d01e7
[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 * @if VISPARTNER-MANUFACTURER
41 * @interface   ITelephonyNetworkSettingListener
42 * @brief       This interface provides result of the network settings.
43 *
44 * @since 2.0
45 *
46 * @visibility  partner-manufacturer
47 *
48 * The %ITelephonyNetworkSettingListener interface provides result of the network search and response by selection mode.
49 *
50 * @endif
51 */
52 class _OSP_EXPORT_ ITelephonyNetworkSettingListener
53     : virtual public Tizen::Base::Runtime::IEventListener
54 {
55 public:
56     /**
57      * 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.
58      *
59      * @since 2.0
60      */
61     virtual ~ITelephonyNetworkSettingListener(void) {}
62
63     /**
64      * @if VISPARTNER-MANUFACTURER
65      * Called when a response of the network selection mode request is received.
66      *
67      * @since 2.0
68      *
69      * @visibility  partner-manufacturer
70      *
71      * @param[in]   isManual    @c true if the network selection is in manual mode, @n
72      *                          else @c false
73      * @param[in]   r           An error code
74      * @exception   E_SUCCESS                  The method is successful.
75      * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
76      * @exception   E_SYSTEM                     The method cannot proceed due to a severe telephony modem error.
77      * @see NetworkManager::GetNetworkSelectionMode()
78      *
79      * @endif
80      */
81     virtual void OnTelephonyNetworkSelectionModeReceived(bool isManual, result r) = 0;
82
83     /**
84      * @if VISPARTNER-MANUFACTURER
85      * Called when the network search process is completed.
86      *
87      * @since 2.0
88      *
89      * @visibility  partner-manufacturer
90      *
91      * @param[in]   pNetworkInfoList    The list of NetworkInfo information representing the network discovered by the search
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::SearchNetwork()
97      *
98      * @endif
99      */
100     virtual void OnTelephonyNetworkSearchCompletedN(Tizen::Base::Collection::IList* pNetworkInfoList, result r) = 0;
101
102     /**
103      * @if VISPARTNER-MANUFACTURER
104      * Called when a response of the network selection request is completed.
105      *
106      * @since 2.0
107      *
108      * @visibility  partner-manufacturer
109      *
110      * @param[in]   r   An error code
111      * @exception   E_SUCCESS           The method is successful.
112      * @exception   E_NOT_RESPONDING    The server on the telephony network is not responding.
113      * @exception   E_SYSTEM            The method cannot proceed due to a severe telephony modem error.
114      * @see NetworkManager::SelectNetwork()
115      *
116      * @endif
117      */
118     virtual void OnTelephonyNetworkSelectionCompleted(result r) = 0;
119
120 protected:
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_Reserved1(void) {}
130
131     //
132     // This method is for internal use only. Using this method can cause behavioral, security-related,
133     // and consistency-related issues in the application.
134     //
135     // This method is reserved and may change its name at any time without prior notice.
136     //
137     // @since 2.0
138     //
139     virtual void ITelephonyNetworkSettingListener_Reserved2(void) {}
140
141     //
142     // This method is for internal use only. Using this method can cause behavioral, security-related,
143     // and consistency-related issues in the application.
144     //
145     // This method is reserved and may change its name at any time without prior notice.
146     //
147     // @since 2.0
148     //
149     virtual void ITelephonyNetworkSettingListener_Reserved3(void) {}
150 }; // ITelephonyNetworkSettingListener
151
152 }} // Tizen::Telephony
153 #endif // _FTEL_ITELEPHONY_NETWORK_SETTING_LISTENER_H_
154