1 // Copyright 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/ui/webui/local_discovery/local_discovery_ui_handler.h" 6 7 #include "base/bind.h" 8 #include "base/values.h" 9 #include "content/public/browser/web_ui.h" 10 11 LocalDiscoveryUIHandler::LocalDiscoveryUIHandler() 12 : action_callback_(base::Bind(&LocalDiscoveryUIHandler::OnNewDevice, 13 base::Unretained(this))) { 14 content::AddActionCallback(action_callback_); 15 } 16 17 LocalDiscoveryUIHandler::~LocalDiscoveryUIHandler() { 18 content::RemoveActionCallback(action_callback_); 19 } 20 21 void LocalDiscoveryUIHandler::RegisterMessages() {} 22 23 void LocalDiscoveryUIHandler::OnNewDevice(const std::string& name) { 24 // TODO(gene): Once we receive information about new locally discovered 25 // device, we should add it to the page. 26 // Here is an example how to do it: 27 // 28 // base::StringValue service_name(name); 29 // 30 // base::DictionaryValue info; 31 // info.SetString("domain", "domain.local"); 32 // info.SetString("port", "80"); 33 // info.SetString("ip", "XXX.XXX.XXX.XXX"); 34 // info.SetString("metadata", "metadata\nmetadata"); 35 // info.SetString("lastSeen", "unknown"); 36 // info.SetString("registered", "not registered"); 37 // 38 // base::StringValue domain("domain.local"); 39 // base::StringValue port("80"); 40 // base::StringValue ip("XXX.XXX.XXX.XXX"); 41 // base::StringValue metadata("metadata<br>metadata"); 42 // base::StringValue lastSeen("unknown"); 43 // base::StringValue registered("not registered"); 44 // 45 // web_ui()->CallJavascriptFunction("onServiceUpdate", service_name, info); 46 } 47