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.
19 * @file FNetWifi_WifiBssInfoImpl.h
20 * @brief This is the header file for the %_WifiBssInfoImpl class.
22 * This header file contains the declarations of the %_WifiBssInfoImpl class.
25 #ifndef _FNET_WIFI_INTERNAL_WIFI_BSS_INFO_IMPL_H_
26 #define _FNET_WIFI_INTERNAL_WIFI_BSS_INFO_IMPL_H_
28 #include <FOspConfig.h>
29 #include <FBaseObject.h>
30 #include <FNetWifiWifiTypes.h>
31 #include <FNetWifiWifiSecurityInfo.h>
33 namespace Tizen { namespace Net
38 namespace Tizen { namespace Net { namespace Wifi
44 * @class _WifiBssInfoImpl
45 * @brief This class provides the methods for managing the BSS information of a Wi-Fi network.
47 * This class provides the methods for managing the BSS information of a Wi-Fi network.
49 class _OSP_EXPORT_ _WifiBssInfoImpl
50 : public Tizen::Base::Object
54 * This is the default constructor for this class.
58 _WifiBssInfoImpl(void);
61 * This is the copy constructor for the _WifiBssInfoImpl class.
63 * @param[in] value An instance of %_WifiBssInfoImpl
65 _WifiBssInfoImpl(const _WifiBssInfoImpl& value);
68 * This destructor overrides Tizen::Base::Object::~Object().
71 virtual ~_WifiBssInfoImpl(void);
74 * @see WifiBssInfo::GetSsid()
76 Tizen::Base::String GetSsid(void) const;
79 * @see WifiBssInfo::GetBssId()
81 Tizen::Base::String GetBssId(void) const;
84 * @see WifiBssInfo::GetBssType()
86 WifiBssType GetBssType(void) const;
89 * @see WifiBssInfo::GetRadioChannel()
91 WifiRadioChannel GetRadioChannel(void) const;
94 * @see WifiBssInfo::GetSecurityInfo()
96 const WifiSecurityInfo* GetSecurityInfo(void) const;
99 * @see WifiBssInfo::GetRssi()
101 long GetRssi(void) const;
104 * @see WifiBssInfo::GetDataRate()
106 float GetDataRate(void) const;
109 * Gets the Access Point handler
110 * @return The pointer to wifi ap handler
112 void* GetBssHandle(void) const;
115 * Allocates Instance of %WifiBssInfo.
118 * @return WifiBssInfo
121 static WifiBssInfo* CreateWifiBssInfoN(void);
124 * Sets the SSID of this BSS.
126 * @param[in] ssid The SSID
128 void SetSsid(const Tizen::Base::String& ssid);
131 * Sets the ID of this BSS.
133 * @param[in] bssId The BSSID in the form '00-00-00-00-00-00'
135 void SetBssId(const Tizen::Base::String& bssid);
138 * Sets the type of this BSS.
140 * @param[in] bssType The type of this BSS
142 void SetBssType(WifiBssType bssType);
145 * Sets the radio channel of this BSS.
147 * @param[in] channel The radio channel of this BSS
149 void SetRadioChannel(WifiRadioChannel channel);
152 * Sets the security information of this BSS.
154 * @param[in] secuInfo The authentication and encryption type of this BSS
156 void SetSecurityInfo(const WifiSecurityInfo& securityInfo);
159 * Sets the Received Signal Strength Indication (RSSI) value of BSS at scanning time
161 * @param[in] rssi The RSSI value (dB)
163 void SetRssi(long rssi);
166 * Sets the data rate of this BSS.
168 * @param[in] dataRate The data rate value (Mbps)
169 * @remarks If the supported data rate is unknown, default value is @c -1.0.
171 void SetDataRate(float dataRate);
174 * Sets the halder for wifi ap.
176 * @param[in] pApHandle A handle of access point
178 void SetBssHandle(void* pApHandle);
181 * @see WifiBssInfo::IsKnown()
183 bool IsKnown(void) const;
186 * Sets the access point (BSS) is known or not.
188 * @param[in] isKnown @c true if the access point is known, @n
190 * @see WifiBssInfo::SetUnknown()
192 void SetKnown(bool isKnown);
195 * @see WifiBssInfo::GetLocalAddressScheme()
197 Tizen::Net::NetAddressScheme GetLocalAddressScheme(void) const;
200 * @see WifiBssInfo::SetLocalAddressScheme()
202 void SetLocalAddressScheme(Tizen::Net::NetAddressScheme scheme);
205 * @see WifiBssInfo::GetLocalAddress()
207 const Tizen::Net::IpAddress* GetLocalAddress(void) const;
210 * @see WifiBssInfo::SetLocalAddress()
212 result SetLocalAddress(const Tizen::Net::IpAddress* pAddress);
215 * @see WifiBssInfo::GetSubnetMaskAddress()
217 const Tizen::Net::IpAddress* GetSubnetMaskAddress(void) const;
220 * @see WifiBssInfo::SetSubnetMaskAddress()
222 result SetSubnetMaskAddress(const Tizen::Net::IpAddress* pAddress);
225 * @see WifiBssInfo::GetDefaultGatewayAddress()
227 const Tizen::Net::IpAddress* GetDefaultGatewayAddress(void) const;
230 * @see WifiBssInfo::SetDefaultGatewayAddress()
232 result SetDefaultGatewayAddress(const Tizen::Net::IpAddress* pAddress);
235 * @see WifiBssInfo::GetPrimaryDnsAddress()
237 const Tizen::Net::IpAddress* GetPrimaryDnsAddress(void) const;
240 * @see WifiBssInfo::SetPrimaryDnsAddress()
242 result SetPrimaryDnsAddress(const Tizen::Net::IpAddress* pAddress);
245 * @see WifiBssInfo::GetSecondaryDnsAddress()
247 const Tizen::Net::IpAddress* GetSecondaryDnsAddress(void) const;
250 * @see WifiBssInfo::SetSecondaryDnsAddress()
252 result SetSecondaryDnsAddress(const Tizen::Net::IpAddress* pAddress);
255 * @see WifiBssInfo::GetProxyType()
257 Tizen::Net::NetProxyType GetProxyType(void) const;
260 * @see WifiBssInfo::SetProxyType()
262 void SetProxyType(Tizen::Net::NetProxyType type);
265 * @see WifiBssInfo::GetProxyAddress()
267 Tizen::Base::String GetProxyAddress(void) const;
270 * @see WifiBssInfo::SetProxyAddress()
272 result SetProxyAddress(const Tizen::Base::String& address);
275 * @see WifiBssInfo::Equals()
277 virtual bool Equals(const Tizen::Base::Object& obj) const;
280 * Gets the hash value of the current instance.
282 * @return The hash value of the current instance
284 virtual int GetHashCode(void) const;
287 * Gets the Impl instance.
289 * @return The pointer to %_WifiBssInfoImpl
290 * @param[in] wifiBssInfo An instance of %WifiBssInfo
292 static _WifiBssInfoImpl* GetInstance(WifiBssInfo& wifiBssInfo);
295 * Gets the Impl instance.
297 * @return The pointer to %_WifiBssInfoImpl
298 * @param[in] wifiBssInfo An instance of %WifiBssInfo
300 static const _WifiBssInfoImpl* GetInstance(const WifiBssInfo& wifiBssInfo);
303 * Copying of objects using this copy assignment operator is allowed.
305 * @return The reference of this instance
306 * @param[in] rhs A reference to the %_WifiBssInfoImpl instance to be copied
308 _WifiBssInfoImpl& operator =(const _WifiBssInfoImpl& rhs);
311 Tizen::Base::String __ssid;
312 Tizen::Base::String __bssid;
313 WifiBssType __bssType;
314 WifiRadioChannel __channel;
315 WifiSecurityInfo __securityInfo;
319 Tizen::Net::NetAddressScheme __scheme;
320 Tizen::Net::IpAddress* __pLocalAddress;
321 Tizen::Net::IpAddress* __pMaskAddress;
322 Tizen::Net::IpAddress* __pGatewayAddress;
323 Tizen::Net::IpAddress* __pPriDnsAddress;
324 Tizen::Net::IpAddress* __pSecDnsAddress;
325 Tizen::Net::NetProxyType __proxyType;
326 Tizen::Base::String __proxyAddress;
329 }; // _WifiBssInfoImpl
331 } } } //Tizen::Net::Wifi
333 #endif // _FNET_WIFI_INTERNAL_WIFI_BSS_INFO_IMPL_H_