Index: trunk/src/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc |
=================================================================== |
--- trunk/src/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc (revision 282174) |
+++ trunk/src/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc (working copy) |
@@ -23,29 +23,22 @@ |
namespace { |
-const int kNumRequestsNeeded = 2; |
- |
-const char kIDPrefixCloudPrinter[] = "cloudprint:"; |
-const char kIDPrefixGcd[] = "gcd:"; |
-const char kIDPrefixMdns[] = "mdns:"; |
- |
-scoped_ptr<Event> MakeDeviceStateChangedEvent( |
+scoped_ptr<Event> MakeCloudDeviceStateChangedEvent( |
+ bool available, |
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())); |
+ gcd_private::OnCloudDeviceStateChanged::Create(available, device); |
+ scoped_ptr<Event> event(new Event( |
+ gcd_private::OnCloudDeviceStateChanged::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(); |
-} |
+const int kNumRequestsNeeded = 2; |
+const char kIDPrefixCloudPrinter[] = "cloudprint:"; |
+const char kIDPrefixGcd[] = "gcd:"; |
+const char kIDPrefixMdns[] = "mdns:"; |
+ |
GcdPrivateAPI::GCDApiFlowFactoryForTests* g_gcd_api_flow_factory = NULL; |
base::LazyInstance<BrowserContextKeyedAPIFactory<GcdPrivateAPI> > g_factory = |
@@ -76,10 +69,8 @@ |
: num_device_listeners_(0), browser_context_(context) { |
DCHECK(browser_context_); |
if (EventRouter::Get(context)) { |
- EventRouter::Get(context) |
- ->RegisterObserver(this, gcd_private::OnDeviceStateChanged::kEventName); |
- EventRouter::Get(context) |
- ->RegisterObserver(this, gcd_private::OnDeviceRemoved::kEventName); |
+ EventRouter::Get(context)->RegisterObserver( |
+ this, gcd_private::OnCloudDeviceStateChanged::kEventName); |
} |
} |
@@ -96,36 +87,31 @@ |
} |
void GcdPrivateAPI::OnListenerAdded(const EventListenerInfo& details) { |
- if (details.event_name == gcd_private::OnDeviceStateChanged::kEventName || |
- details.event_name == gcd_private::OnDeviceRemoved::kEventName) { |
- num_device_listeners_++; |
+ 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 (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, MakeDeviceStateChangedEvent(*i->second)); |
- } |
+ for (GCDDeviceMap::iterator i = known_devices_.begin(); |
+ i != known_devices_.end(); |
+ i++) { |
+ EventRouter::Get(browser_context_)->DispatchEventToExtension( |
+ details.extension_id, |
+ MakeCloudDeviceStateChangedEvent(true, *i->second)); |
} |
} |
void GcdPrivateAPI::OnListenerRemoved(const EventListenerInfo& details) { |
- if (details.event_name == gcd_private::OnDeviceStateChanged::kEventName || |
- details.event_name == gcd_private::OnDeviceRemoved::kEventName) { |
- num_device_listeners_--; |
+ 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; |
} |
} |
@@ -135,17 +121,17 @@ |
const local_discovery::DeviceDescription& description) { |
linked_ptr<gcd_private::GCDDevice> device(new gcd_private::GCDDevice); |
device->setup_type = gcd_private::SETUP_TYPE_MDNS; |
- device->device_id = kIDPrefixMdns + name; |
+ device->id_string = 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->device_id] = device; |
+ known_devices_[device->id_string] = device; |
EventRouter::Get(browser_context_) |
- ->BroadcastEvent(MakeDeviceStateChangedEvent(*device)); |
+ ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(true, *device)); |
} |
void GcdPrivateAPI::DeviceRemoved(const std::string& name) { |
@@ -154,7 +140,7 @@ |
known_devices_.erase(found); |
EventRouter::Get(browser_context_) |
- ->BroadcastEvent(MakeDeviceRemovedEvent(device->device_id)); |
+ ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(false, *device)); |
} |
void GcdPrivateAPI::DeviceCacheFlushed() { |
@@ -162,7 +148,7 @@ |
i != known_devices_.end(); |
i++) { |
EventRouter::Get(browser_context_) |
- ->BroadcastEvent(MakeDeviceRemovedEvent(i->second->device_id)); |
+ ->BroadcastEvent(MakeCloudDeviceStateChangedEvent(false, *i->second)); |
} |
known_devices_.clear(); |
@@ -239,9 +225,9 @@ |
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->device_id = kIDPrefixCloudPrinter + i->id; |
+ device->id_string = kIDPrefixCloudPrinter + i->id; |
} else { |
- device->device_id = kIDPrefixGcd + i->id; |
+ device->id_string = kIDPrefixGcd + i->id; |
} |
device->cloud_id.reset(new std::string(i->id)); |
@@ -291,23 +277,23 @@ |
return false; |
} |
-GcdPrivateSetWiFiNetworkFunction::GcdPrivateSetWiFiNetworkFunction() { |
+GcdPrivateSetWiFiNetworksFunction::GcdPrivateSetWiFiNetworksFunction() { |
} |
-GcdPrivateSetWiFiNetworkFunction::~GcdPrivateSetWiFiNetworkFunction() { |
+GcdPrivateSetWiFiNetworksFunction::~GcdPrivateSetWiFiNetworksFunction() { |
} |
-bool GcdPrivateSetWiFiNetworkFunction::RunAsync() { |
+bool GcdPrivateSetWiFiNetworksFunction::RunAsync() { |
return false; |
} |
-GcdPrivateSetWiFiPasswordFunction::GcdPrivateSetWiFiPasswordFunction() { |
+GcdPrivateSetWiFiCredentialsFunction::GcdPrivateSetWiFiCredentialsFunction() { |
} |
-GcdPrivateSetWiFiPasswordFunction::~GcdPrivateSetWiFiPasswordFunction() { |
+GcdPrivateSetWiFiCredentialsFunction::~GcdPrivateSetWiFiCredentialsFunction() { |
} |
-bool GcdPrivateSetWiFiPasswordFunction::RunAsync() { |
+bool GcdPrivateSetWiFiCredentialsFunction::RunAsync() { |
return false; |
} |
@@ -331,56 +317,4 @@ |
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 |