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 FNetDhcpClientInfo.h
20 * @brief This is the header file for the %DhcpClientInfo class.
22 * This header file contains the declarations of the %DhcpClientInfo class.
24 #ifndef _FNET_DHCP_CLIENT_INFO_H_
25 #define _FNET_DHCP_CLIENT_INFO_H_
27 #include <FBaseResult.h>
28 #include <FBaseObject.h>
29 #include <FBaseString.h>
30 #include <FNetIpAddress.h>
32 namespace Tizen { namespace Net
34 class _DhcpClientInfoImpl;
37 * @class DhcpClientInfo
38 * @brief This class represents a client information on the local Dynamic Host Configuration Protocol (DHCP) server.
42 * The %DhcpClientInfo class provides functionality for getting information on the local DHCP server.
44 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/net/local_DHCP_server_access.htm">Local DHCP Server Access</a>.
46 class _OSP_EXPORT_ DhcpClientInfo
47 : public Tizen::Base::Object
51 * This destructor overrides Tizen::Base::Object::~Object().
55 virtual ~DhcpClientInfo(void);
59 * Gets the name of the DHCP client device.
63 * @return The name of the DHCP client device, @n
64 * else a null string if the name is not set or not constructed
66 Tizen::Base::String GetName(void) const;
69 * Gets the IP address of the DHCP client device.
73 * @return The IpAddress pointer
74 * @remarks This method returns a dynamically assigned IP address.
76 const IpAddress* GetIpAddress(void) const;
79 * Gets the MAC address of the DHCP client device.
83 * @return The MAC address in the form '00-00-00-00-00-00'
84 * @remarks In case of the Wi-Fi Direct bearer type, the MAC address is virtual and is used only for the frame packetization.
85 * This MAC address is different from the MAC address provided by the WifiManager or the WifiDirectDevice class.
87 Tizen::Base::String GetMacAddress(void) const;
90 * Compares the specified instance of %DhcpClientInfo with the calling instance.
94 * @return @c true if the values match, @n
96 * @param[in] rhs The other Tizen::Base::Object to compare
97 * @see Tizen::Base::Object::Equals()
99 virtual bool Equals(const Tizen::Base::Object& rhs) const;
102 * Gets the hash value of the current instance.
106 * @return The hash value of the current instance
108 virtual int GetHashCode(void) const;
112 * This default constructor is intentionally declared as private so that only the platform can create an instance.
114 DhcpClientInfo(void);
117 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
119 * @param[in] rhs An instance of %DhcpClientInfo
121 DhcpClientInfo(const DhcpClientInfo& rhs);
124 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
126 * @param[in] rhs An instance of %DhcpClientInfo
128 DhcpClientInfo& operator =(const DhcpClientInfo& rhs);
131 _DhcpClientInfoImpl* __pDhcpClientInfoImpl;
133 friend class _DhcpClientInfoImpl;
138 #endif // _FNET_DHCP_CLIENT_INFO_H_