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 FNet_DhcpClientInfoImpl.h
19 * @brief This is the header file for the _DhcpClientInfoImpl Class.
23 #ifndef _FNET_INTERNAL_DHCP_CLIENT_INFO_IMPL_H_
24 #define _FNET_INTERNAL_DHCP_CLIENT_INFO_IMPL_H_
26 #include <unique_ptr.h>
27 #include <FBaseDataType.h>
28 #include <FBaseObject.h>
29 #include <FBaseString.h>
31 namespace Tizen { namespace Net
36 class _LocalDhcpServerImpl;
37 class _LocalDhcpServerEvent;
38 class _DhcpNetConnectionEventListenerImpl;
41 * @class _DhcpClientInfoImpl
42 * @brief This class represents a client information on dhcp server.
45 * The DhcpClientInfo class provides functionality for getting information on dhcp server.
48 class _DhcpClientInfoImpl
49 : public Tizen::Base::Object
54 * This is the constructor for this class.
57 _DhcpClientInfoImpl(void);
60 * This is the constructor for this class.
62 * @param[in] value An instance of DhcpClientInfo
64 _DhcpClientInfoImpl(const DhcpClientInfo& value);
67 * This is the destructor for this class.
70 virtual ~_DhcpClientInfoImpl(void);
74 * @see DhcpClientInfo::Equals()
76 bool Equals(const Tizen::Base::Object& rhs) const;
79 * @see DhcpClientInfo::GetHashCode()
81 int GetHashCode(void) const;
85 * @see DhcpClientInfo::GetName()
87 Tizen::Base::String GetName(void) const;
90 * @see DhcpClientInfo::GetMacAddress()
92 Tizen::Base::String GetMacAddress(void) const;
95 * @see DhcpClientInfo::GetLocalAddress()
97 IpAddress* GetLocalAddress(void) const;
101 * Gets the Impl instance.
104 * @return The pointer to _DhcpClientInfoImpl
105 * @param[in] dhcpClientInfo An instance of DhcpClientInfo
107 static _DhcpClientInfoImpl* GetInstance(DhcpClientInfo& dhcpClientInfo);
110 * Gets the Impl instance.
113 * @return The pointer to _DhcpClientInfoImpl
114 * @param[in] dhcpClientInfo An instance of DhcpClientInfo
116 static const _DhcpClientInfoImpl* GetInstance(const DhcpClientInfo& dhcpClientInfo);
120 * Factory Method to create DhcpClientInfo instance
123 * @return Instance of DhcpClientInfo
125 static DhcpClientInfo* CreateDhcpClientInfoN(void);
128 * Factory Method to Clone DhcpClientInfo instance
131 * @return Instance of DhcpClientInfo
133 static DhcpClientInfo* CloneDhcpClientInfoN(const DhcpClientInfo& info);
137 * This is the copy constructor for this class. @n
138 * Do @b not use directly.
140 * @param[in] rhs An instance of __DhcpClientInfoImpl
142 _DhcpClientInfoImpl(const _DhcpClientInfoImpl& rhs);
145 * This is the assignment operator. Do @b not use directly.
147 * @param[in] rhs An instance of __DhcpClientInfoImpl
149 _DhcpClientInfoImpl& operator =(const _DhcpClientInfoImpl& rhs);
152 Tizen::Base::String __dhcpClientName;
153 Tizen::Base::String __macAddress;
154 std::unique_ptr<IpAddress> __pLocalAddress;
156 friend class _LocalDhcpServerImpl;
157 friend class _LocalDhcpServerEvent;
158 friend class _DhcpNetConnectionEventListenerImpl;
159 friend class _LocalDhcpServerEventArg;
160 }; // _DhcpClientInfoImpl
164 #endif // _FNET_INTERNAL_DHCP_CLIENT_INFO_IMPL_H_