Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Side by Side Diff: net/base/network_interfaces_win.cc

Issue 1752233002: Convert Pass()→std::move() on Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/base/file_stream_context_win.cc ('k') | net/disk_cache/blockfile/file_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/base/network_interfaces_win.h" 5 #include "net/base/network_interfaces_win.h"
6 6
7 #pragma comment(lib, "iphlpapi.lib") 7 #pragma comment(lib, "iphlpapi.lib")
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 } 47 }
48 48
49 // Returns scoped_ptr to WLAN_CONNECTION_ATTRIBUTES. The scoped_ptr may hold a 49 // Returns scoped_ptr to WLAN_CONNECTION_ATTRIBUTES. The scoped_ptr may hold a
50 // NULL pointer if WLAN_CONNECTION_ATTRIBUTES is unavailable. 50 // NULL pointer if WLAN_CONNECTION_ATTRIBUTES is unavailable.
51 scoped_ptr<WLAN_CONNECTION_ATTRIBUTES, internal::WlanApiDeleter> 51 scoped_ptr<WLAN_CONNECTION_ATTRIBUTES, internal::WlanApiDeleter>
52 GetConnectionAttributes() { 52 GetConnectionAttributes() {
53 const internal::WlanApi& wlanapi = internal::WlanApi::GetInstance(); 53 const internal::WlanApi& wlanapi = internal::WlanApi::GetInstance();
54 scoped_ptr<WLAN_CONNECTION_ATTRIBUTES, internal::WlanApiDeleter> 54 scoped_ptr<WLAN_CONNECTION_ATTRIBUTES, internal::WlanApiDeleter>
55 wlan_connection_attributes; 55 wlan_connection_attributes;
56 if (!wlanapi.initialized) 56 if (!wlanapi.initialized)
57 return wlan_connection_attributes.Pass(); 57 return wlan_connection_attributes;
58 58
59 internal::WlanHandle client; 59 internal::WlanHandle client;
60 DWORD cur_version = 0; 60 DWORD cur_version = 0;
61 const DWORD kMaxClientVersion = 2; 61 const DWORD kMaxClientVersion = 2;
62 DWORD result = wlanapi.OpenHandle(kMaxClientVersion, &cur_version, &client); 62 DWORD result = wlanapi.OpenHandle(kMaxClientVersion, &cur_version, &client);
63 if (result != ERROR_SUCCESS) 63 if (result != ERROR_SUCCESS)
64 return wlan_connection_attributes.Pass(); 64 return wlan_connection_attributes;
65 65
66 WLAN_INTERFACE_INFO_LIST* interface_list_ptr = NULL; 66 WLAN_INTERFACE_INFO_LIST* interface_list_ptr = NULL;
67 result = 67 result =
68 wlanapi.enum_interfaces_func(client.Get(), NULL, &interface_list_ptr); 68 wlanapi.enum_interfaces_func(client.Get(), NULL, &interface_list_ptr);
69 if (result != ERROR_SUCCESS) 69 if (result != ERROR_SUCCESS)
70 return wlan_connection_attributes.Pass(); 70 return wlan_connection_attributes;
71 scoped_ptr<WLAN_INTERFACE_INFO_LIST, internal::WlanApiDeleter> interface_list( 71 scoped_ptr<WLAN_INTERFACE_INFO_LIST, internal::WlanApiDeleter> interface_list(
72 interface_list_ptr); 72 interface_list_ptr);
73 73
74 // Assume at most one connected wifi interface. 74 // Assume at most one connected wifi interface.
75 WLAN_INTERFACE_INFO* info = NULL; 75 WLAN_INTERFACE_INFO* info = NULL;
76 for (unsigned i = 0; i < interface_list->dwNumberOfItems; ++i) { 76 for (unsigned i = 0; i < interface_list->dwNumberOfItems; ++i) {
77 if (interface_list->InterfaceInfo[i].isState == 77 if (interface_list->InterfaceInfo[i].isState ==
78 wlan_interface_state_connected) { 78 wlan_interface_state_connected) {
79 info = &interface_list->InterfaceInfo[i]; 79 info = &interface_list->InterfaceInfo[i];
80 break; 80 break;
81 } 81 }
82 } 82 }
83 83
84 if (info == NULL) 84 if (info == NULL)
85 return wlan_connection_attributes.Pass(); 85 return wlan_connection_attributes;
86 86
87 WLAN_CONNECTION_ATTRIBUTES* conn_info_ptr = nullptr; 87 WLAN_CONNECTION_ATTRIBUTES* conn_info_ptr = nullptr;
88 DWORD conn_info_size = 0; 88 DWORD conn_info_size = 0;
89 WLAN_OPCODE_VALUE_TYPE op_code; 89 WLAN_OPCODE_VALUE_TYPE op_code;
90 result = wlanapi.query_interface_func( 90 result = wlanapi.query_interface_func(
91 client.Get(), &info->InterfaceGuid, wlan_intf_opcode_current_connection, 91 client.Get(), &info->InterfaceGuid, wlan_intf_opcode_current_connection,
92 NULL, &conn_info_size, reinterpret_cast<VOID**>(&conn_info_ptr), 92 NULL, &conn_info_size, reinterpret_cast<VOID**>(&conn_info_ptr),
93 &op_code); 93 &op_code);
94 wlan_connection_attributes.reset(conn_info_ptr); 94 wlan_connection_attributes.reset(conn_info_ptr);
95 if (result == ERROR_SUCCESS) 95 if (result == ERROR_SUCCESS)
96 DCHECK(conn_info_ptr); 96 DCHECK(conn_info_ptr);
97 else 97 else
98 wlan_connection_attributes.reset(); 98 wlan_connection_attributes.reset();
99 return wlan_connection_attributes.Pass(); 99 return wlan_connection_attributes;
100 } 100 }
101 101
102 } // namespace 102 } // namespace
103 103
104 namespace internal { 104 namespace internal {
105 105
106 base::LazyInstance<WlanApi>::Leaky lazy_wlanapi = 106 base::LazyInstance<WlanApi>::Leaky lazy_wlanapi =
107 LAZY_INSTANCE_INITIALIZER; 107 LAZY_INSTANCE_INITIALIZER;
108 108
109 WlanApi& WlanApi::GetInstance() { 109 WlanApi& WlanApi::GetInstance() {
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 339
340 if (!conn_info.get()) 340 if (!conn_info.get())
341 return ""; 341 return "";
342 342
343 const DOT11_SSID dot11_ssid = conn_info->wlanAssociationAttributes.dot11Ssid; 343 const DOT11_SSID dot11_ssid = conn_info->wlanAssociationAttributes.dot11Ssid;
344 return std::string(reinterpret_cast<const char*>(dot11_ssid.ucSSID), 344 return std::string(reinterpret_cast<const char*>(dot11_ssid.ucSSID),
345 dot11_ssid.uSSIDLength); 345 dot11_ssid.uSSIDLength);
346 } 346 }
347 347
348 } // namespace net 348 } // namespace net
OLDNEW
« no previous file with comments | « net/base/file_stream_context_win.cc ('k') | net/disk_cache/blockfile/file_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698