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

Unified Diff: chrome/browser/extensions/api/dial/dial_api.h

Issue 2750453002: Add DiscoveryNetworkMonitor implementation (Closed)
Patch Set: Respond to mfoltz' comments, add chrome.dial API back with tests Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/dial/dial_api.h
diff --git a/chrome/browser/extensions/api/dial/dial_api.h b/chrome/browser/extensions/api/dial/dial_api.h
index 1aba1c75a70a08b9e6ee504004dcebfcb7535b30..5ec124ab6b7a87d3b8e8b92e5fe27c2a0861e21a 100644
--- a/chrome/browser/extensions/api/dial/dial_api.h
+++ b/chrome/browser/extensions/api/dial/dial_api.h
@@ -10,6 +10,7 @@
#include "base/macros.h"
#include "chrome/browser/extensions/api/dial/dial_device_data.h"
#include "chrome/browser/extensions/api/dial/dial_registry.h"
+#include "chrome/browser/media/router/discovery/discovery_network_monitor.h"
#include "chrome/common/extensions/api/dial.h"
#include "components/keyed_service/core/refcounted_keyed_service.h"
#include "extensions/browser/api/async_api_function.h"
@@ -46,7 +47,8 @@ class DialFetchDeviceDescriptionFunction;
// real DialRegsitry.
class DialAPI : public RefcountedKeyedService,
public EventRouter::Observer,
- public api::dial::DialRegistry::Observer {
+ public api::dial::DialRegistry::Observer,
+ public DiscoveryNetworkMonitor::Observer {
mark a. foltz 2017/04/26 22:25:11 I'd put the extensions API changes in a separate p
btolsch 2017/05/03 22:03:09 Done.
public:
explicit DialAPI(Profile* profile);
@@ -81,6 +83,14 @@ class DialAPI : public RefcountedKeyedService,
const api::dial::DialRegistry::DeviceList& devices) override;
void OnDialError(api::dial::DialRegistry::DialErrorCode type) override;
+ // DiscoveryNetworkMonitor::Observer:
+ void OnNetworksChanged(const DiscoveryNetworkMonitor& manager) override;
+
+ void SendNetworkIdChangedOnUIThread(const std::string& network_id);
+
+ void NetworkIdListenerAddedOnIOThread();
+ void NetworkIdListenerRemovedOnIOThread();
+
// Methods to notify the DialRegistry on the correct thread of new/removed
// listeners.
void NotifyListenerAddedOnIOThread();
@@ -157,6 +167,25 @@ class DialFetchDeviceDescriptionFunction : public AsyncExtensionFunction {
DISALLOW_COPY_AND_ASSIGN(DialFetchDeviceDescriptionFunction);
};
+class DialGetNetworkIdFunction : public AsyncExtensionFunction {
+ public:
+ DialGetNetworkIdFunction();
+
+ protected:
+ ~DialGetNetworkIdFunction() override;
+
+ // AsyncExtensionFunction:
+ bool RunAsync() override;
+
+ private:
+ DECLARE_EXTENSION_FUNCTION("dial.getNetworkId", DIAL_GETNETWORKID)
+
+ void GetNetworkIdOnIOThread();
+ void NetworkInfoReadyCallback();
mark a. foltz 2017/04/26 22:25:11 OnNetworkInfoReady
btolsch 2017/05/03 22:03:09 Done.
+
+ DISALLOW_COPY_AND_ASSIGN(DialGetNetworkIdFunction);
+};
+
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_API_DIAL_DIAL_API_H_
« no previous file with comments | « no previous file | chrome/browser/extensions/api/dial/dial_api.cc » ('j') | chrome/browser/extensions/api/dial/dial_api.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698