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

Side by Side Diff: chromeos/dbus/ibus/ibus_panel_service.cc

Issue 11280159: Remove ibus dependency from PanelService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 8 years 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
« no previous file with comments | « chrome/chrome_tests_unit.gypi ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/dbus/ibus/ibus_panel_service.h" 5 #include "chromeos/dbus/ibus/ibus_panel_service.h"
6 6
7 #include <string> 7 #include <string>
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "chromeos/dbus/ibus/ibus_constants.h" 10 #include "chromeos/dbus/ibus/ibus_constants.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 base::Bind(&IBusPanelServiceImpl::OnMethodExported, 87 base::Bind(&IBusPanelServiceImpl::OnMethodExported,
88 weak_ptr_factory_.GetWeakPtr())); 88 weak_ptr_factory_.GetWeakPtr()));
89 89
90 exported_object_->ExportMethod( 90 exported_object_->ExportMethod(
91 ibus::panel::kServiceInterface, 91 ibus::panel::kServiceInterface,
92 ibus::panel::kUpdatePropertyMethod, 92 ibus::panel::kUpdatePropertyMethod,
93 base::Bind(&IBusPanelServiceImpl::UpdateProperty, 93 base::Bind(&IBusPanelServiceImpl::UpdateProperty,
94 weak_ptr_factory_.GetWeakPtr()), 94 weak_ptr_factory_.GetWeakPtr()),
95 base::Bind(&IBusPanelServiceImpl::OnMethodExported, 95 base::Bind(&IBusPanelServiceImpl::OnMethodExported,
96 weak_ptr_factory_.GetWeakPtr())); 96 weak_ptr_factory_.GetWeakPtr()));
97
98 // Request well known name to ibus-daemon.
99 bus->RequestOwnership(
100 ibus::panel::kServiceName,
101 base::Bind(&IBusPanelServiceImpl::OnRequestOwnership,
102 weak_ptr_factory_.GetWeakPtr()));
97 } 103 }
98 104
99 virtual ~IBusPanelServiceImpl() { 105 virtual ~IBusPanelServiceImpl() {
100 bus_->UnregisterExportedObject( 106 bus_->UnregisterExportedObject(
101 dbus::ObjectPath(ibus::panel::kServicePath)); 107 dbus::ObjectPath(ibus::panel::kServicePath));
102 } 108 }
103 109
104 // IBusPanelService override. 110 // IBusPanelService override.
105 virtual void SetUpCandidateWindowHandler( 111 virtual void SetUpCandidateWindowHandler(
106 IBusPanelCandidateWindowHandlerInterface* handler) { 112 IBusPanelCandidateWindowHandlerInterface* handler) {
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 } 315 }
310 316
311 // Called when the method call is exported. 317 // Called when the method call is exported.
312 void OnMethodExported(const std::string& interface_name, 318 void OnMethodExported(const std::string& interface_name,
313 const std::string& method_name, 319 const std::string& method_name,
314 bool success) { 320 bool success) {
315 LOG_IF(WARNING, !success) << "Failed to export " 321 LOG_IF(WARNING, !success) << "Failed to export "
316 << interface_name << "." << method_name; 322 << interface_name << "." << method_name;
317 } 323 }
318 324
325 // Called when the well knwon name is acquired.
326 void OnRequestOwnership(const std::string& name, bool obtained) {
327 LOG_IF(ERROR, !obtained) << "Failed to acquire well known name:"
328 << name;
329 }
330
319 // D-Bus bus object used for unregistering exported methods in dtor. 331 // D-Bus bus object used for unregistering exported methods in dtor.
320 dbus::Bus* bus_; 332 dbus::Bus* bus_;
321 333
322 // All incoming method calls are passed on to the |candidate_window_handler_| 334 // All incoming method calls are passed on to the |candidate_window_handler_|
323 // or |property_handler|. This class does not take ownership of following 335 // or |property_handler|. This class does not take ownership of following
324 // handlers. 336 // handlers.
325 IBusPanelCandidateWindowHandlerInterface* candidate_window_handler_; 337 IBusPanelCandidateWindowHandlerInterface* candidate_window_handler_;
326 IBusPanelPropertyHandlerInterface* property_handler_; 338 IBusPanelPropertyHandlerInterface* property_handler_;
327 339
328 scoped_refptr<dbus::ExportedObject> exported_object_; 340 scoped_refptr<dbus::ExportedObject> exported_object_;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 dbus::Bus* bus) { 375 dbus::Bus* bus) {
364 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) { 376 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) {
365 return new IBusPanelServiceImpl(bus); 377 return new IBusPanelServiceImpl(bus);
366 } else { 378 } else {
367 return new IBusPanelServiceStubImpl(); 379 return new IBusPanelServiceStubImpl();
368 } 380 }
369 } 381 }
370 382
371 } // namespace ibus 383 } // namespace ibus
372 } // namespace chromeos 384 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/chrome_tests_unit.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698