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

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

Issue 363883002: Add API stubs for GCD device commands. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Thu 07/10/2014 0:13:26.25 Created 6 years, 5 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 08c1abefec5c75677136b0a7f788efb2c674ce37..6a2921624a7813f94a4ba517edfc5cb6d3c9e11e 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
@@ -23,22 +23,29 @@ namespace gcd_private = api::gcd_private;
namespace {
-scoped_ptr<Event> MakeCloudDeviceStateChangedEvent(
- bool available,
- const gcd_private::GCDDevice& device) {
- scoped_ptr<base::ListValue> params =
- gcd_private::OnCloudDeviceStateChanged::Create(available, device);
- scoped_ptr<Event> event(new Event(
- gcd_private::OnCloudDeviceStateChanged::kEventName, params.Pass()));
- return event.Pass();
-}
-
const int kNumRequestsNeeded = 2;
const char kIDPrefixCloudPrinter[] = "cloudprint:";
const char kIDPrefixGcd[] = "gcd:";
const char kIDPrefixMdns[] = "mdns:";
+scoped_ptr<Event> MakeDeviceStateChangedEvent(
+ const gcd_private::GCDDevice& device) {
+ scoped_ptr<base::ListValue> params =
+ gcd_private::OnDeviceStateChanged::Create(device);
+ scoped_ptr<Event> event(
+ new Event(gcd_private::OnDeviceStateChanged::kEventName, params.Pass()));
+ return event.Pass();
+}
+
+scoped_ptr<Event> MakeDeviceRemovedEvent(const std::string& device) {
+ scoped_ptr<base::ListValue> params =
+ gcd_private::OnDeviceRemoved::Create(device);
+ scoped_ptr<Event> event(
+ new Event(gcd_private::OnDeviceRemoved::kEventName, params.Pass()));
+ return event.Pass();
+}
+
GcdPrivateAPI::GCDApiFlowFactoryForTests* g_gcd_api_flow_factory = NULL;
base::LazyInstance<BrowserContextKeyedAPIFactory<GcdPrivateAPI> > g_factory =
@@ -69,8 +76,10 @@ GcdPrivateAPI::GcdPrivateAPI(content::BrowserContext* context)
: num_device_listeners_(0), browser_context_(context) {
DCHECK(browser_context_);
if (EventRouter::Get(context)) {
- EventRouter::Get(context)->RegisterObserver(
- this, gcd_private::OnCloudDeviceStateChanged::kEventName);
+ EventRouter::Get(context)
+ ->RegisterObserver(this, gcd_private::OnDeviceStateChanged::kEventName);
+ EventRouter::Get(context)
+ ->RegisterObserver(this, gcd_private::OnDeviceRemoved::kEventName);
}
}
@@ -87,31 +96,36 @@ GcdPrivateAPI::GetFactoryInstance() {
}
void GcdPrivateAPI::OnListenerAdded(const EventListenerInfo& details) {
- num_device_listeners_++;
-
- if (num_device_listeners_ == 1) {
- service_discovery_client_ =
- local_discovery::ServiceDiscoverySharedClient::GetInstance();
- privet_device_lister_.reset(new local_discovery::PrivetDeviceListerImpl(
- service_discovery_client_.get(), this));
- privet_device_lister_->Start();
- }
+ if (details.event_name == gcd_private::OnDeviceStateChanged::kEventName ||
+ details.event_name == gcd_private::OnDeviceRemoved::kEventName) {
+ num_device_listeners_++;
+
+ if (num_device_listeners_ == 1) {
+ service_discovery_client_ =
+ local_discovery::ServiceDiscoverySharedClient::GetInstance();
+ privet_device_lister_.reset(new local_discovery::PrivetDeviceListerImpl(
+ service_discovery_client_.get(), this));
+ privet_device_lister_->Start();
+ }
- for (GCDDeviceMap::iterator i = known_devices_.begin();
- i != known_devices_.end();
- i++) {
- EventRouter::Get(browser_context_)->DispatchEventToExtension(
- details.extension_id,
- MakeCloudDeviceStateChangedEvent(true, *i->second));
+ for (GCDDeviceMap::iterator i = known_devices_.begin();
+ i != known_devices_.end();
+ i++) {
+ EventRouter::Get(browser_context_)->DispatchEventToExtension(
+ details.extension_id, MakeDeviceStateChangedEvent(*i->second));
+ }
}
}
void GcdPrivateAPI::OnListenerRemoved(const EventListenerInfo& details) {
- num_device_listeners_--;
+ if (details.event_name == gcd_private::OnDeviceStateChanged::kEventName ||
+ details.event_name == gcd_private::OnDeviceRemoved::kEventName) {
+ num_device_listeners_--;
- if (num_device_listeners_ == 0) {
- privet_device_lister_.reset();
- service_discovery_client_ = NULL;
+ if (num_device_listeners_ == 0) {
+ privet_device_lister_.reset();
+ service_discovery_client_ = NULL;
+ }
}
}
@@ -121,17 +135,17 @@ void GcdPrivateAPI::DeviceChanged(
const local_discovery::DeviceDescription& description) {
linked_ptr<gcd_private::GCDDevice> device(new gcd_private::GCDDevice);
device->setup_type = gcd_private::SETUP_TYPE_MDNS;
- device->id_string = kIDPrefixMdns + name;
+ device->device_id = kIDPrefixMdns + name;
device->device_type = description.type;
device->device_name = description.name;
device->device_description = description.description;
if (!description.id.empty())
device->cloud_id.reset(new std::string(description.id));
- known_devices_[device->id_string] = device;
+ known_devices_[device->device_id] = device;
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(true, *device));
+ ->BroadcastEvent(MakeDeviceStateChangedEvent(*device));
}
void GcdPrivateAPI::DeviceRemoved(const std::string& name) {
@@ -140,7 +154,7 @@ void GcdPrivateAPI::DeviceRemoved(const std::string& name) {
known_devices_.erase(found);
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(false, *device));
+ ->BroadcastEvent(MakeDeviceRemovedEvent(device->device_id));
}
void GcdPrivateAPI::DeviceCacheFlushed() {
@@ -148,7 +162,7 @@ void GcdPrivateAPI::DeviceCacheFlushed() {
i != known_devices_.end();
i++) {
EventRouter::Get(browser_context_)
- ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(false, *i->second));
+ ->BroadcastEvent(MakeDeviceRemovedEvent(i->second->device_id));
}
known_devices_.clear();
@@ -216,9 +230,9 @@ void GcdPrivateGetCloudDeviceListFunction::CheckListingDone() {
linked_ptr<gcd_private::GCDDevice> device(new gcd_private::GCDDevice);
device->setup_type = gcd_private::SETUP_TYPE_CLOUD;
if (i->type == local_discovery::kGCDTypePrinter) {
- device->id_string = kIDPrefixCloudPrinter + i->id;
+ device->device_id = kIDPrefixCloudPrinter + i->id;
} else {
- device->id_string = kIDPrefixGcd + i->id;
+ device->device_id = kIDPrefixGcd + i->id;
}
device->cloud_id.reset(new std::string(i->id));
@@ -235,6 +249,18 @@ void GcdPrivateGetCloudDeviceListFunction::CheckListingDone() {
Release();
}
+GcdPrivateQueryForNewLocalDevicesFunction::
+ GcdPrivateQueryForNewLocalDevicesFunction() {
+}
+
+GcdPrivateQueryForNewLocalDevicesFunction::
+ ~GcdPrivateQueryForNewLocalDevicesFunction() {
+}
+
+bool GcdPrivateQueryForNewLocalDevicesFunction::RunSync() {
+ return false;
+}
+
GcdPrivateStartSetupFunction::GcdPrivateStartSetupFunction() {
}
@@ -245,23 +271,23 @@ bool GcdPrivateStartSetupFunction::RunAsync() {
return false;
}
-GcdPrivateSetWiFiNetworksFunction::GcdPrivateSetWiFiNetworksFunction() {
+GcdPrivateSetWiFiNetworkFunction::GcdPrivateSetWiFiNetworkFunction() {
}
-GcdPrivateSetWiFiNetworksFunction::~GcdPrivateSetWiFiNetworksFunction() {
+GcdPrivateSetWiFiNetworkFunction::~GcdPrivateSetWiFiNetworkFunction() {
}
-bool GcdPrivateSetWiFiNetworksFunction::RunAsync() {
+bool GcdPrivateSetWiFiNetworkFunction::RunAsync() {
return false;
}
-GcdPrivateSetWiFiCredentialsFunction::GcdPrivateSetWiFiCredentialsFunction() {
+GcdPrivateSetWiFiPasswordFunction::GcdPrivateSetWiFiPasswordFunction() {
}
-GcdPrivateSetWiFiCredentialsFunction::~GcdPrivateSetWiFiCredentialsFunction() {
+GcdPrivateSetWiFiPasswordFunction::~GcdPrivateSetWiFiPasswordFunction() {
}
-bool GcdPrivateSetWiFiCredentialsFunction::RunAsync() {
+bool GcdPrivateSetWiFiPasswordFunction::RunAsync() {
return false;
}
@@ -285,4 +311,56 @@ bool GcdPrivateStopSetupFunction::RunAsync() {
return false;
}
+GcdPrivateGetCommandDefinitionsFunction::
+ GcdPrivateGetCommandDefinitionsFunction() {
+}
+
+GcdPrivateGetCommandDefinitionsFunction::
+ ~GcdPrivateGetCommandDefinitionsFunction() {
+}
+
+bool GcdPrivateGetCommandDefinitionsFunction::RunAsync() {
+ return false;
+}
+
+GcdPrivateInsertCommandFunction::GcdPrivateInsertCommandFunction() {
+}
+
+GcdPrivateInsertCommandFunction::~GcdPrivateInsertCommandFunction() {
+}
+
+bool GcdPrivateInsertCommandFunction::RunAsync() {
+ return false;
+}
+
+GcdPrivateGetCommandFunction::GcdPrivateGetCommandFunction() {
+}
+
+GcdPrivateGetCommandFunction::~GcdPrivateGetCommandFunction() {
+}
+
+bool GcdPrivateGetCommandFunction::RunAsync() {
+ return false;
+}
+
+GcdPrivateCancelCommandFunction::GcdPrivateCancelCommandFunction() {
+}
+
+GcdPrivateCancelCommandFunction::~GcdPrivateCancelCommandFunction() {
+}
+
+bool GcdPrivateCancelCommandFunction::RunAsync() {
+ return false;
+}
+
+GcdPrivateGetCommandsListFunction::GcdPrivateGetCommandsListFunction() {
+}
+
+GcdPrivateGetCommandsListFunction::~GcdPrivateGetCommandsListFunction() {
+}
+
+bool GcdPrivateGetCommandsListFunction::RunAsync() {
+ return false;
+}
+
} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/api/gcd_private/gcd_private_api.h ('k') | chrome/common/extensions/api/gcd_private.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698