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

Side by Side Diff: chrome/browser/extensions/api/dial/mdns_service.cc

Issue 22870011: chrome.mdns API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/extensions/api/dial/mdns_service.h"
6
7 #include "base/bind.h"
8
9 using local_discovery::ServiceWatcher;
10 using local_discovery::ServiceDiscoveryHostClientFactory;
11
12 namespace extensions {
13
14
15 MDNSService::MDNSService(std::string service_type)
16 : service_type_(service_type),
17 service_discovery_client_(ServiceDiscoveryHostClientFactory::GetClient()),
18 started_(false) {
19 }
20
21 MDNSService::~MDNSService() {}
22
23 bool MDNSService::Start() {
24 if (!started_) {
25 service_watcher_ = service_discovery_client_->CreateServiceWatcher(
26 service_type_,
27 base::Bind(&MDNSService::OnServiceUpdated,
28 base::Unretained(this)));
29 service_watcher_->Start();
30 started_ = true;
31 }
32 return true;
33 }
34
35 void MDNSService::Stop() {
36 }
37
38 void MDNSService::Discover(bool force_update) {
39 service_watcher_->DiscoverNewServices(force_update);
40 }
41
42 void MDNSService::OnServiceUpdated(
43 ServiceWatcher::UpdateType update,
44 const std::string& service_name) {
45 if (update != ServiceWatcher::UPDATE_REMOVED) {
46 // bool added = (update == ServiceWatcher::UPDATE_ADDED);
47 // std::pair<ServiceResolverMap::iterator, bool> insert_result =
48 // resolvers_.insert(make_pair(service_name,
49 // linked_ptr<ServiceResolver>(NULL)));
50
51 // // If there is already a resolver working on this service, don't add one.
mark a. foltz 2013/08/19 18:25:26 Yeah, if we want to use the device we have to fire
52 // if (insert_result.second) {
53 // scoped_ptr<ServiceResolver> resolver =
54 // service_discovery_client_->CreateServiceResolver(
55 // service_name, base::Bind(
56 // &PrivetDeviceListerImpl::OnResolveComplete,
57 // base::Unretained(this),
58 // added));
59
60 // insert_result.first->second.reset(resolver.release());
61 // insert_result.first->second->StartResolving();
62 // }
63 } else {
64 // delegate_->DeviceRemoved(service_name);
65 }
66 }
67
68 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698