OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/wifi/wifi_service.h" | 5 #include "components/wifi/wifi_service.h" |
6 | 6 |
7 #import <netinet/in.h> | 7 #import <netinet/in.h> |
8 #import <CoreWLAN/CoreWLAN.h> | 8 #import <CoreWLAN/CoreWLAN.h> |
9 #import <SystemConfiguration/SystemConfiguration.h> | 9 #import <SystemConfiguration/SystemConfiguration.h> |
10 | 10 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 std::string* key_data, | 69 std::string* key_data, |
70 std::string* error) override; | 70 std::string* error) override; |
71 | 71 |
72 void SetEventObservers( | 72 void SetEventObservers( |
73 scoped_refptr<base::MessageLoopProxy> message_loop_proxy, | 73 scoped_refptr<base::MessageLoopProxy> message_loop_proxy, |
74 const NetworkGuidListCallback& networks_changed_observer, | 74 const NetworkGuidListCallback& networks_changed_observer, |
75 const NetworkGuidListCallback& network_list_changed_observer) override; | 75 const NetworkGuidListCallback& network_list_changed_observer) override; |
76 | 76 |
77 void RequestConnectedNetworkUpdate() override; | 77 void RequestConnectedNetworkUpdate() override; |
78 | 78 |
| 79 void GetConnectedNetworkSSID(std::string* ssid, std::string* error) override; |
| 80 |
79 private: | 81 private: |
80 // Checks |ns_error| and if is not |nil|, then stores |error_name| | 82 // Checks |ns_error| and if is not |nil|, then stores |error_name| |
81 // into |error|. | 83 // into |error|. |
82 bool CheckError(NSError* ns_error, | 84 bool CheckError(NSError* ns_error, |
83 const char* error_name, | 85 const char* error_name, |
84 std::string* error) const; | 86 std::string* error) const; |
85 | 87 |
86 // Gets |ssid| from unique |network_guid|. | 88 // Gets |ssid| from unique |network_guid|. |
87 NSString* SSIDFromGUID(const std::string& network_guid) const { | 89 NSString* SSIDFromGUID(const std::string& network_guid) const { |
88 return base::SysUTF8ToNSString(network_guid); | 90 return base::SysUTF8ToNSString(network_guid); |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 object:nil | 411 object:nil |
410 queue:nil | 412 queue:nil |
411 usingBlock:ns_observer]; | 413 usingBlock:ns_observer]; |
412 } | 414 } |
413 } | 415 } |
414 | 416 |
415 void WiFiServiceMac::RequestConnectedNetworkUpdate() { | 417 void WiFiServiceMac::RequestConnectedNetworkUpdate() { |
416 OnWlanObserverNotification(); | 418 OnWlanObserverNotification(); |
417 } | 419 } |
418 | 420 |
| 421 void WiFiServiceMac::GetConnectedNetworkSSID(std::string* ssid, |
| 422 std::string* error) { |
| 423 *ssid = base::SysNSStringToUTF8([interface_ ssid]); |
| 424 *error = ""; |
| 425 } |
| 426 |
419 std::string WiFiServiceMac::GetNetworkConnectionState( | 427 std::string WiFiServiceMac::GetNetworkConnectionState( |
420 const std::string& network_guid) const { | 428 const std::string& network_guid) const { |
421 if (network_guid != GUIDFromSSID([interface_ ssid])) | 429 if (network_guid != GUIDFromSSID([interface_ ssid])) |
422 return onc::connection_state::kNotConnected; | 430 return onc::connection_state::kNotConnected; |
423 | 431 |
424 // Check whether WiFi network is reachable. | 432 // Check whether WiFi network is reachable. |
425 struct sockaddr_in local_wifi_address; | 433 struct sockaddr_in local_wifi_address; |
426 bzero(&local_wifi_address, sizeof(local_wifi_address)); | 434 bzero(&local_wifi_address, sizeof(local_wifi_address)); |
427 local_wifi_address.sin_len = sizeof(local_wifi_address); | 435 local_wifi_address.sin_len = sizeof(local_wifi_address); |
428 local_wifi_address.sin_family = AF_INET; | 436 local_wifi_address.sin_family = AF_INET; |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 NetworkGuidList changed_networks(1, network_guid); | 653 NetworkGuidList changed_networks(1, network_guid); |
646 message_loop_proxy_->PostTask( | 654 message_loop_proxy_->PostTask( |
647 FROM_HERE, | 655 FROM_HERE, |
648 base::Bind(networks_changed_observer_, changed_networks)); | 656 base::Bind(networks_changed_observer_, changed_networks)); |
649 } | 657 } |
650 | 658 |
651 // static | 659 // static |
652 WiFiService* WiFiService::Create() { return new WiFiServiceMac(); } | 660 WiFiService* WiFiService::Create() { return new WiFiServiceMac(); } |
653 | 661 |
654 } // namespace wifi | 662 } // namespace wifi |
OLD | NEW |