remove Doxygen warning
[platform/framework/native/net.git] / inc / FNetWifiWifiDirectDeviceInfo.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  * @file    FNetWifiWifiDirectDeviceInfo.h
19  * @brief   This is the header file for the %WifiDirectDeviceInfo class.
20  *
21  * This header file contains the declarations of the %WifiDirectDeviceInfo class.
22  */
23 #ifndef _FNET_WIFI_WIFI_DIRECT_DEVICE_INFO_H_
24 #define _FNET_WIFI_WIFI_DIRECT_DEVICE_INFO_H_
25
26 #include <FBaseObject.h>
27 #include <FNetWifiWifiTypes.h>
28
29 namespace Tizen { namespace Base { namespace Collection
30 {
31 template<class type>
32 class IListT;
33 } } } // Tizen::Base::Collection
34
35 namespace Tizen { namespace Net
36 {
37 class IpAddress;
38 } } // Tizen::Net
39
40 namespace Tizen { namespace Net { namespace Wifi
41 {
42 class _WifiDirectDeviceInfoImpl;
43
44 /**
45  * @class   WifiDirectDeviceInfo
46  * @brief   This class provides methods for the Wi-Fi Direct device information.
47  *
48  * @since   2.0
49  *
50  * The %WifiDirectDeviceInfo class provides methods for getting information related to a Wi-Fi Direct device.
51  */
52 class _OSP_EXPORT_ WifiDirectDeviceInfo
53         : public Tizen::Base::Object
54 {
55 public:
56         /**
57          * This is the default constructor for this class.
58          *
59          * @since 2.0
60          */
61         WifiDirectDeviceInfo(void);
62
63         /**
64          * Copying of objects using this copy constructor is allowed.
65          *
66          * @since 2.0
67          *
68          * @param[in]   value   An instance of %WifiDirectDeviceInfo
69          */
70         WifiDirectDeviceInfo(const WifiDirectDeviceInfo& value);
71
72         /**
73          * Initializes this instance of %WifiDirectDeviceInfo with the specified device name
74          * and the MAC address.
75          *
76          * @since       2.0
77          *
78          * @param[in]   deviceName  The device name @n
79          *                          The length of @c deviceName must not exceed 64 characters.
80          * @param[in]   macAddr     The MAC address @n
81          *                          The value of @c macAddr must be in the form '00-00-00-00-00-00'.
82          *
83          */
84         WifiDirectDeviceInfo(const Tizen::Base::String& deviceName, const Tizen::Base::String& macAddr);
85
86         /**
87          * This destructor overrides Tizen::Base::Object::~Object().
88          *
89          * @since 2.0
90          */
91         virtual ~WifiDirectDeviceInfo(void);
92
93         /**
94          * Gets the ID of the device.
95          *
96          * @since       2.0
97          *
98          * @return      The ID of the Wi-Fi Direct device
99          * @remarks
100          *              - This value is only available for local device information query, such as
101          *                WifiDirectDeviceManager::GetAllDeviceInfoN() or WifiDirectDevice::GetLocalDeviceInfoN().
102          *              - When the value is not available, the return value is @c -1.
103          */
104         WifiDirectDeviceId GetDeviceId(void) const;
105
106         /**
107          * Gets the device name.
108          *
109          * @since       2.0
110          *
111          * @return      The device name
112          */
113         Tizen::Base::String GetDeviceName(void) const;
114
115         /**
116          * Gets the MAC address of the device.
117          *
118          * @since       2.0
119          *
120          * @return      The MAC address in the form '00-00-00-00-00-00'
121          * @remarks     This MAC address is different from the MAC address provided by the WifiManager or DhcpClientInfo
122          *              class. Especially, the MAC address which is provided in DhcpClientInfo is a virtual MAC address for
123          *              data communication during a Wi-Fi Direct group member.
124          */
125         Tizen::Base::String GetMacAddress(void) const;
126
127         /**
128          * Gets the IP address of the device.
129          *
130          * @since       2.0
131          *
132          * @return      An IpAddress pointer to the local address in the calling instance
133          * @remarks     The IP address is provided only using WifiDirectDevice::GetGroupOwnerInfoN(),
134          *              WifiDirectDevice::GetGroupClientInfoListN(), or WifiDirectDevice::GetLocalDeviceInfoN() after
135          *              becoming a group member.
136          */
137         const Tizen::Net::IpAddress* GetIpAddress(void) const;
138
139         /**
140          * Gets the SSID.
141          *
142          * @since       2.0
143          *
144          * @return      The SSID
145          * @remarks     This method returns an empty string if the member type of a device is not a Wi-Fi Direct group
146          *              owner or client.
147          */
148         Tizen::Base::String GetSsid(void) const;
149
150         /**
151          * Gets the status of the device.
152          *
153          * @since       2.0
154          *
155          * @return      The status of the Wi-Fi Direct device
156          */
157         WifiDirectDeviceStatus GetDeviceStatus(void) const;
158
159         /**
160          * Gets the member type of the Wi-Fi Direct device.
161          *
162          * @since       2.0
163          *
164          * @return      The member type of the Wi-Fi Direct device
165          */
166         WifiDirectGroupMemberType GetGroupMemberType(void) const;
167
168         /**
169          * Gets the category of the Wi-Fi Direct device type.
170          *
171          * @since       2.0
172          *
173          * @return      The category of the Wi-Fi Direct device type
174          */
175         WifiDirectDeviceTypeCategory GetDeviceTypeCategory(void) const;
176
177         /**
178          * Gets the list of supporting WPS configuration modes.
179          *
180          * @since       2.0
181          *
182          * @return      The list of supporting WPS configuration modes
183          * @remarks     The result of this method is available only using WifiDirectDevice::Scan() or
184          *              WifiDirectDevice::GetLocalDeviceInfoN().
185          */
186         const Tizen::Base::Collection::IListT <WifiWpsConfigurationMode>* GetSupportedWpsConfigurationModeList(void) const;
187
188         /**
189          * Checks whether the specified instance of %WifiDirectDeviceInfo equals the current instance.
190          *
191          * @since       2.0
192          *
193          * @return      @c true if the specified instance equals the current instance, @n
194          *              else @c false
195          * @param[in]   obj         An instance of %WifiDirectDeviceInfo
196          * @remarks     This method returns @c false if the specified object is not %WifiDirectDeviceInfo.
197          */
198         virtual bool Equals(const Tizen::Base::Object& obj) const;
199
200         /**
201          * Gets the hash value of the current instance.
202          *
203          * @since       2.0
204          *
205          * @return      The hash value of the current instance
206          */
207         virtual int GetHashCode(void) const;
208
209         /**
210          * Assigns the value of the specified instance to the current instance of %WifiDirectDeviceInfo.
211          *
212          * @since        2.0
213          *
214          * @return       A reference to this instance
215          * @param[in]    rhs        An instance of %WifiDirectDeviceInfo
216          */
217         WifiDirectDeviceInfo& operator =(const WifiDirectDeviceInfo& rhs);
218
219 private :
220         _WifiDirectDeviceInfoImpl* __pWifiDirectDeviceInfoImpl;
221
222         friend class _WifiDirectDeviceInfoImpl;
223 }; // WifiDirectDeviceInfo
224
225 } } } // Tizen::Net::Wifi
226 #endif // _FNET_WIFI_WIFI_DIRECT_DEVICE_INFO_H_