2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FTel_NetworkInfoImpl.h
19 * @brief This is the header file for the _NetworkInfoImpl class.
21 * This header file contains the declarations of the _NetworkInfoImpl Class.
23 #ifndef _FTEL_INTERNAL_NETWORK_INFO_IMPL_H_
24 #define _FTEL_INTERNAL_NETWORK_INFO_IMPL_H_
27 #include <FBaseObject.h>
28 #include <FBaseString.h>
31 namespace Tizen { namespace Telephony
39 * Defines the network type.
44 _NETWORK_TYPE_UNDEFINED = -1, /**< No define type */
45 _NETWORK_TYPE_GSM, /**< Available service is GSM */
46 _NETWORK_TYPE_GPRS, /**< Available service is GPRS */
47 _NETWORK_TYPE_EGPRS, /**< Available service is EGPRS */
48 _NETWORK_TYPE_PCS1900, /**< Available service is PCS1900 */
49 _NETWORK_TYPE_UMTS, /**< Available service is UMTS */
50 _NETWORK_TYPE_GSM_AND_UMTS, /**< Available service is GSM and UMTS */
51 _NETWORK_TYPE_HSDPA, /**< Available service is HSDPA */
52 _NETWORK_TYPE_IS95A, /**< Available service is IS95A */
53 _NETWORK_TYPE_IS95B, /**< Available service is IS95B */
54 _NETWORK_TYPE_CDMA_1X, /**< Available service is CDMA 1X(IS-2000) */
55 _NETWORK_TYPE_EVDO_REV_0, /**< Available service is CDMA EV-DO rev0 */
56 _NETWORK_TYPE_CDMA_1X_AND_EVDO_REV_0,/**< Available service is CDMA 1X(IS-2000) and EV-DO rev0 */
57 _NETWORK_TYPE_EVDO_REV_A, /**< Available service is EV-DO revA */
58 _NETWORK_TYPE_CDMA_1X_AND_EVDO_REV_A,/**< Available service is CDMA 1X(IS-2000) and EV-DO revA */
59 _NETWORK_TYPE_EVDV, /**< Available service is EV-DV */
62 class _NetworkInfoImpl
63 : public Tizen::Base::Object
68 * This is the default constructor for this class.
72 _NetworkInfoImpl(void);
75 * This is the copy constructor for the _NetworkInfoImpl class.
79 * @param[in] rhs An instance of %_NetworkInfoImpl
81 _NetworkInfoImpl(const _NetworkInfoImpl& rhs);
84 * This is the destructor for this class.
88 virtual ~_NetworkInfoImpl(void);
91 * @see NetWorkInfo::GetCellId()
93 int GetCellId(void) const;
96 * @see NetWorkInfo::GetLac()
98 int GetLac(void) const;
101 * @see NetWorkInfo::GetMnc()
103 int GetMnc(void) const;
106 * @see NetWorkInfo::GetMcc()
108 int GetMcc(void) const;
111 * @see NetWorkInfo::GetPlmn()
113 Tizen::Base::String GetPlmn(void) const;
116 * @see NetWorkInfo::GetOperatorName()
118 Tizen::Base::String GetOperatorName(void) const;
121 * Gets the network type.
123 * @return The network
125 _NetworkType GetNetworkType(void) const;
128 * Checks whether the the specified instance of %_NetworkInfoImpl equals the current instance.
130 * @return @c true if the specified instance equals the current instance, @n
132 * @param[in] rhs An instance of %_NetworkInfoImpl
133 * @remarks The method returns @c false if the specified object is not %_NetworkInfoImpl.
135 virtual bool Equals(const Tizen::Base::Object& rhs) const;
138 * Gets the hash value of the current instance.
140 * @return The hash value of the current instance
142 virtual int GetHashCode(void) const;
145 * @see NetWorkInfo::GetRssi()
147 static int GetRssi(void);
151 * Sets the current cell ID.
153 * @param[in] cellId The current cell ID
155 void SetCellId(int cellId);
158 * Sets the current Location Area Code (LAC).
160 * @param[in] lac The current Location Area Code (LAC)
162 void SetLac(int lac);
165 * Sets the Mobile Network Code (MNC) of the network.
167 * @param[in] mnc The Mobile Network Code (MNC) of the network
169 void SetMnc(int mnc);
172 * Sets the Mobile Country Code (MCC) of the network.
174 * @param[in] mcc Mobile Country Code (MCC) of the network
176 void SetMcc(int mcc);
179 * Sets the Public Land Mobile Network (PLMN) string.
181 * @param[in] plmn The Public Land Mobile Network (PLMN) string
183 void SetPlmn(const Tizen::Base::String& plmn);
186 * Sets the operator name.
188 * @param[in] operatorName The operator name
190 void SetOperatorName(const Tizen::Base::String& operatorName);
193 * Sets the network type.
195 * @param[in] networkType The network type
197 void SetNetworkType(_NetworkType networkType);
200 * Gets the Impl instance.
203 * @return The pointer to _NetworkInfoImpl
204 * @param[in] networkInfo An instance of NetworkInfo
206 static _NetworkInfoImpl* GetInstance(NetworkInfo& networkInfo);
209 * Gets the Impl instance.
212 * @return The pointer to _NetworkInfoImpl
213 * @param[in] networkInfo An instance of NetworkInfo
215 static const _NetworkInfoImpl* GetInstance(const NetworkInfo& networkInfo);
218 * This assignment operator copies the values from the specified instance of %_NetworkInfoImpl to the calling
219 * instance of %_NetworkInfoImpl.
223 * @return The reference of this instance
224 * @param[in] rhs A reference to the %_NetworkInfoImpl instance to be copied
226 _NetworkInfoImpl& operator=(const _NetworkInfoImpl& rhs);
234 Tizen::Base::String __plmn;
235 Tizen::Base::String __operatorName;
237 _NetworkType __networkType;
239 }; // _NetworkInfoImpl
241 }} // Tizen::Telephony
242 #endif // _FTEL_INTERNAL_NETWORK_INFO_IMPL_H_