remove Doxygen warning
[platform/framework/native/net.git] / inc / FNetWifiWifiDirectDeviceManager.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    FNetWifiWifiDirectDeviceManager.h
19  * @brief   This is the header file for the %WifiDirectDeviceManager class.
20  *
21  * This header file contains the declarations of the %WifiDirectDeviceManager class.
22  */
23 #ifndef _FNET_WIFI_WIFI_DIRECT_DEVICE_MANAGER_H_
24 #define _FNET_WIFI_WIFI_DIRECT_DEVICE_MANAGER_H_
25
26 #include <FBaseObject.h>
27 #include <FNetWifiWifiTypes.h>
28
29 namespace Tizen { namespace Base { namespace Collection
30 {
31 class IList;
32 } } } // Tizen::Base::Collection
33
34 namespace Tizen { namespace Net { namespace Wifi
35 {
36 class _WifiDirectDeviceManagerImpl;
37 class WifiDirectDevice;
38 class WifiDirectDeviceInfo;
39
40 /**
41  * @class  WifiDirectDeviceManager
42  * @brief  This class provides methods for the Wi-Fi Direct device management.
43  *
44  * @since 2.0
45  *
46  * The %WifiDirectDeviceManager class provides methods for creating a WifiDirectDevice instance and
47  * managing the Wi-Fi Direct devices.
48  */
49
50 class _OSP_EXPORT_ WifiDirectDeviceManager
51         : public Tizen::Base::Object
52 {
53 public:
54         /**
55          * This is the default constructor for this class.
56          *
57          * @since       2.0
58          */
59         WifiDirectDeviceManager(void);
60
61         /**
62          * This destructor overrides Tizen::Base::Object::~Object().
63          *
64          * @since       2.0
65          */
66         virtual ~WifiDirectDeviceManager(void);
67
68         /**
69          * Gets a list of all the devices and also their information provided by the system.
70          *
71          * @since       2.0
72          *
73          * @feature     %http://tizen.org/feature/network.wifi.direct
74          *
75          * @return      A Tizen::Base::Collection::IList containing WifiDirectDeviceInfo of local devices in the system if
76          *              successful, @n
77          *              else @c null
78          * @exception   E_SUCCESS               The method is successful.
79          * @exception   E_SYSTEM                An internal error has occurred.
80          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
81          * @exception   E_UNSUPPORTED_OPERATION The device does not support the Wi-Fi Direct feature. For more information, see
82          *                                      <a href=”../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm”>
83          *                                      Application Filtering</a>.
84          * @remarks
85          *              - Currently, a single WifiDirectDeviceInfo instance is returned because the concurrent mode is not supported.
86          *              - The specific error code can be accessed using the GetLastResult() method.
87          *              - Before calling this method, check whether the feature is supported by
88          *                %Tizen::System::SystemInfo::GetValue() methods.
89          */
90         static Tizen::Base::Collection::IList* GetAllDeviceInfoN(void);
91
92         /**
93          * Gets an instance of WifiDirectDevice.
94          *
95          * @since       2.0
96          *
97          * @feature     %http://tizen.org/feature/network.wifi.direct
98          *
99          * @return      An instance of WifiDirectDevice if successful, @n
100          *              else @c null
101          * @param[in]   pLocalDeviceInfo        A pointer to WifiDirectDeviceInfo
102          * @exception   E_SUCCESS               The method is successful.
103          * @exception   E_SYSTEM                An internal error has occurred.
104          * @exception   E_INVALID_ARG           The specified input parameter is invalid.
105          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
106          * @exception   E_UNSUPPORTED_OPERATION The device does not support the Wi-Fi Direct feature. For more information, see
107          *                                      <a href=”../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm”>
108          *                                      Application Filtering</a>.
109          * @remarks
110          *              - If the value of @c pLocalDeviceInfo is @c null, the WifiDirectDevice instance is created for the
111          *                system default device. Otherwise, the value of @c pLocalDeviceInfo should be one of the elements
112          *                obtained from WifiDirectDeviceManager::GetAllDeviceInfoN() to create a valid %WifiDirectDevice
113          *                instance.
114          *              - The specific error code can be accessed using the GetLastResult() method.
115          *              - Before calling this method, check whether the feature is supported by
116          *                %Tizen::System::SystemInfo::GetValue() methods.
117          */
118         static WifiDirectDevice* GetWifiDirectDeviceN(const WifiDirectDeviceInfo* pLocalDeviceInfo = null);
119
120 private:
121         //
122         // The implementation of this copy constructor is intentionally blank to prohibit copying of objects.
123         //
124         WifiDirectDeviceManager(const WifiDirectDeviceManager& value);
125
126         //
127         // The implementation of this copy assignment operator is intentionally blank to prohibit copying of objects.
128         //
129         WifiDirectDeviceManager& operator =(const WifiDirectDeviceManager& rhs);
130
131 private:
132         _WifiDirectDeviceManagerImpl* __pWifiDirectDeviceManagerImpl;
133
134         friend class _WifiDirectDeviceManagerImpl;
135 }; // WifiDirectDeviceManager
136
137 } } } // Tizen::Net::Wifi
138 #endif // _FNET_WIFI_WIFI_DIRECT_DEVICE_MANAGER_H_