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

Unified Diff: chrome/browser/extensions/api/gcd_private/gcd_private_api.cc

Issue 356613002: Add queryForNewLocalDevices to gcdPrivate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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/gcd_private/gcd_private_api.cc
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
index 3f7355747bc6e147d8d0f656d662b9876daa52e1..bc64a016176b3ba11be3873f238415c2b89cfdfd 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
@@ -23,13 +23,13 @@ namespace gcd_private = api::gcd_private;
namespace {
-scoped_ptr<Event> MakeCloudDeviceStateChangedEvent(
+scoped_ptr<Event> MakeLocalDeviceStateChangedEvent(
bool available,
const gcd_private::GCDDevice& device) {
scoped_ptr<base::ListValue> params =
- gcd_private::OnCloudDeviceStateChanged::Create(available, device);
+ gcd_private::OnLocalDeviceStateChanged::Create(available, device);
scoped_ptr<Event> event(new Event(
- gcd_private::OnCloudDeviceStateChanged::kEventName, params.Pass()));
+ gcd_private::OnLocalDeviceStateChanged::kEventName, params.Pass()));
return event.Pass();
}
@@ -73,7 +73,7 @@ GcdPrivateAPI::GcdPrivateAPI(content::BrowserContext* context)
: num_device_listeners_(0), browser_context_(context) {
DCHECK(browser_context_);
EventRouter::Get(context)->RegisterObserver(
- this, gcd_private::OnCloudDeviceStateChanged::kEventName);
+ this, gcd_private::OnLocalDeviceStateChanged::kEventName);
}
GcdPrivateAPI::~GcdPrivateAPI() {
@@ -120,7 +120,7 @@ void GcdPrivateAPI::OnListenerAdded(const EventListenerInfo& details) {
i++) {
EventRouter::Get(browser_context_)->DispatchEventToExtension(
details.extension_id,
- MakeCloudDeviceStateChangedEvent(true, *i->second));
+ MakeLocalDeviceStateChangedEvent(true, *i->second));
}
}
@@ -154,7 +154,7 @@ void GcdPrivateAPI::DeviceChanged(
known_devices_[device->id_string] = device;
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(true, *device));
+ ->BroadcastEvent(MakeLocalDeviceStateChangedEvent(true, *device));
}
void GcdPrivateAPI::DeviceRemoved(const std::string& name) {
@@ -164,7 +164,7 @@ void GcdPrivateAPI::DeviceRemoved(const std::string& name) {
known_devices_.erase(found);
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(false, *device));
+ ->BroadcastEvent(MakeLocalDeviceStateChangedEvent(false, *device));
}
void GcdPrivateAPI::DeviceCacheFlushed() {
@@ -172,7 +172,7 @@ void GcdPrivateAPI::DeviceCacheFlushed() {
i != known_devices_.end();
i++) {
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(false, *i->second));
+ ->BroadcastEvent(MakeLocalDeviceStateChangedEvent(false, *i->second));
}
known_devices_.clear();
@@ -200,10 +200,19 @@ void GcdPrivateAPI::OnBootstrappingDeviceUpdate(
}
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(available, *device));
+ ->BroadcastEvent(MakeLocalDeviceStateChangedEvent(available, *device));
}
#endif // ENABLE_WIFI_BOOTSTRAPPING
+bool GcdPrivateAPI::QueryForDevices() {
+ if (!privet_device_lister_)
+ return false;
+
+ privet_device_lister_->DiscoverNewDevices(true);
+
+ return true;
+}
+
// static
void GcdPrivateAPI::SetGCDApiFlowFactoryForTests(
GCDApiFlowFactoryForTests* factory) {
@@ -285,4 +294,28 @@ void GcdPrivateGetCloudDeviceListFunction::CheckListingDone() {
Release();
}
+GcdPrivateQueryForNewLocalDevicesFunction::
+ GcdPrivateQueryForNewLocalDevicesFunction() {
+}
+
+GcdPrivateQueryForNewLocalDevicesFunction::
+ ~GcdPrivateQueryForNewLocalDevicesFunction() {
+}
+
+bool GcdPrivateQueryForNewLocalDevicesFunction::RunSync() {
+ GcdPrivateAPI* gcd_api =
+ BrowserContextKeyedAPIFactory<GcdPrivateAPI>::Get(GetProfile());
+
+ if (!gcd_api)
+ return false;
+
+ if (!gcd_api->QueryForDevices()) {
+ error_ =
+ "You must first subscribe to onLocalDeviceStateChanged notifications";
+ return false;
+ }
+
+ return true;
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698