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 FNetWifiWifiDirectDeviceManager.h
19 * @brief This is the header file for the %WifiDirectDeviceManager class.
21 * This header file contains the declarations of the %WifiDirectDeviceManager class.
23 #ifndef _FNET_WIFI_WIFI_DIRECT_DEVICE_MANAGER_H_
24 #define _FNET_WIFI_WIFI_DIRECT_DEVICE_MANAGER_H_
26 #include <FBaseObject.h>
27 #include <FNetWifiWifiTypes.h>
29 namespace Tizen { namespace Base { namespace Collection
32 } } } // Tizen::Base::Collection
34 namespace Tizen { namespace Net { namespace Wifi
36 class _WifiDirectDeviceManagerImpl;
37 class WifiDirectDevice;
38 class WifiDirectDeviceInfo;
41 * @class WifiDirectDeviceManager
42 * @brief This class provides methods for the Wi-Fi Direct device management.
46 * The %WifiDirectDeviceManager class provides methods for creating a WifiDirectDevice instance and
47 * managing the Wi-Fi Direct devices.
50 class _OSP_EXPORT_ WifiDirectDeviceManager
51 : public Tizen::Base::Object
55 * This is the default constructor for this class.
59 WifiDirectDeviceManager(void);
62 * This destructor overrides Tizen::Base::Object::~Object().
66 virtual ~WifiDirectDeviceManager(void);
69 * Gets a list of all the devices and also their information provided by the system.
73 * @feature %http://tizen.org/feature/network.wifi.direct
75 * @return A Tizen::Base::Collection::IList containing WifiDirectDeviceInfo of local devices in the system if
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>.
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.
90 static Tizen::Base::Collection::IList* GetAllDeviceInfoN(void);
93 * Gets an instance of WifiDirectDevice.
97 * @feature %http://tizen.org/feature/network.wifi.direct
99 * @return An instance of WifiDirectDevice if successful, @n
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>.
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
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.
118 static WifiDirectDevice* GetWifiDirectDeviceN(const WifiDirectDeviceInfo* pLocalDeviceInfo = null);
122 // The implementation of this copy constructor is intentionally blank to prohibit copying of objects.
124 WifiDirectDeviceManager(const WifiDirectDeviceManager& value);
127 // The implementation of this copy assignment operator is intentionally blank to prohibit copying of objects.
129 WifiDirectDeviceManager& operator =(const WifiDirectDeviceManager& rhs);
132 _WifiDirectDeviceManagerImpl* __pWifiDirectDeviceManagerImpl;
134 friend class _WifiDirectDeviceManagerImpl;
135 }; // WifiDirectDeviceManager
137 } } } // Tizen::Net::Wifi
138 #endif // _FNET_WIFI_WIFI_DIRECT_DEVICE_MANAGER_H_