remove Doxygen warning
[platform/framework/native/net.git] / inc / FNetDhcpClientInfo.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 /**
19  * @file                FNetDhcpClientInfo.h
20  * @brief               This is the header file for the %DhcpClientInfo class.
21  *
22  * This header file contains the declarations of the %DhcpClientInfo class.
23  */
24 #ifndef _FNET_DHCP_CLIENT_INFO_H_
25 #define _FNET_DHCP_CLIENT_INFO_H_
26
27 #include <FBaseResult.h>
28 #include <FBaseObject.h>
29 #include <FBaseString.h>
30 #include <FNetIpAddress.h>
31
32 namespace Tizen { namespace Net
33 {
34 class _DhcpClientInfoImpl;
35
36 /**
37  * @class       DhcpClientInfo
38  * @brief       This class represents a client information on the local Dynamic Host Configuration Protocol (DHCP) server.
39  *
40  * @since       2.0
41  *
42  * The %DhcpClientInfo class provides functionality for getting information on the local DHCP server.
43  *
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>.
45  */
46 class _OSP_EXPORT_ DhcpClientInfo
47         : public Tizen::Base::Object
48 {
49 public:
50         /**
51          * This destructor overrides Tizen::Base::Object::~Object().
52          *
53          * @since       2.0
54          */
55         virtual ~DhcpClientInfo(void);
56
57 public:
58         /**
59          * Gets the name of the DHCP client device.
60          *
61          * @since               2.0
62          *
63          * @return              The name of the DHCP client device, @n
64          *                              else a null string if the name is not set or not constructed
65          */
66         Tizen::Base::String GetName(void) const;
67
68         /**
69          * Gets the IP address of the DHCP client device.
70          *
71          * @since               2.0
72          *
73          * @return              The IpAddress pointer
74          * @remarks             This method returns a dynamically assigned IP address.
75          */
76         const IpAddress* GetIpAddress(void) const;
77
78         /**
79          * Gets the MAC address of the DHCP client device.
80          *
81          * @since               2.0
82          *
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.
86          */
87         Tizen::Base::String GetMacAddress(void) const;
88
89         /**
90          * Compares the specified instance of %DhcpClientInfo with the calling instance.
91          *
92          * @since               2.0
93          *
94          * @return              @c true if the values match, @n
95          *                          else @c false
96          * @param[in]   rhs     The other Tizen::Base::Object to compare
97          * @see                 Tizen::Base::Object::Equals()
98          */
99         virtual bool Equals(const Tizen::Base::Object& rhs) const;
100
101         /**
102          * Gets the hash value of the current instance.
103          *
104          * @since               2.0
105          *
106          * @return      The hash value of the current instance
107          */
108         virtual int GetHashCode(void) const;
109
110 private:
111         /*
112          * This default constructor is intentionally declared as private so that only the platform can create an instance.
113          */
114         DhcpClientInfo(void);
115
116         /*
117          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
118          *
119          * @param[in]    rhs    An instance of %DhcpClientInfo
120          */
121         DhcpClientInfo(const DhcpClientInfo& rhs);
122
123         /*
124          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
125          *
126          * @param[in]   rhs             An instance of %DhcpClientInfo
127          */
128         DhcpClientInfo& operator =(const DhcpClientInfo& rhs);
129
130 private:
131         _DhcpClientInfoImpl* __pDhcpClientInfoImpl;
132
133         friend class _DhcpClientInfoImpl;
134 }; // DhcpClientInfo
135
136 } } //Tizen::Net
137
138 #endif // _FNET_DHCP_CLIENT_INFO_H_