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

Side by Side Diff: dbus/bus.h

Issue 24554002: dbus: Replace PostTaskTo*Thread methods with Get*TaskRunner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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
« no previous file with comments | « chromeos/dbus/shill_client_unittest_base.cc ('k') | dbus/bus.cc » ('j') | 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 #ifndef DBUS_BUS_H_ 5 #ifndef DBUS_BUS_H_
6 #define DBUS_BUS_H_ 6 #define DBUS_BUS_H_
7 7
8 #include <dbus/dbus.h> 8 #include <dbus/dbus.h>
9 9
10 #include <map> 10 #include <map>
11 #include <set> 11 #include <set>
12 #include <string> 12 #include <string>
13 #include <utility> 13 #include <utility>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/callback.h" 16 #include "base/callback.h"
17 #include "base/memory/ref_counted.h" 17 #include "base/memory/ref_counted.h"
18 #include "base/synchronization/waitable_event.h" 18 #include "base/synchronization/waitable_event.h"
19 #include "base/threading/platform_thread.h" 19 #include "base/threading/platform_thread.h"
20 #include "dbus/dbus_export.h" 20 #include "dbus/dbus_export.h"
21 #include "dbus/object_path.h" 21 #include "dbus/object_path.h"
22 22
23 namespace base { 23 namespace base {
24 class SequencedTaskRunner; 24 class SequencedTaskRunner;
25 class SingleThreadTaskRunner; 25 class SingleThreadTaskRunner;
26 class TaskRunner;
26 } 27 }
27 28
28 namespace tracked_objects { 29 namespace tracked_objects {
29 class Location; 30 class Location;
30 } 31 }
31 32
32 namespace dbus { 33 namespace dbus {
33 34
34 class ExportedObject; 35 class ExportedObject;
35 class ObjectManager; 36 class ObjectManager;
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 virtual bool TryRegisterObjectPath(const ObjectPath& object_path, 523 virtual bool TryRegisterObjectPath(const ObjectPath& object_path,
523 const DBusObjectPathVTable* vtable, 524 const DBusObjectPathVTable* vtable,
524 void* user_data, 525 void* user_data,
525 DBusError* error); 526 DBusError* error);
526 527
527 // Unregister the object path. 528 // Unregister the object path.
528 // 529 //
529 // BLOCKING CALL. 530 // BLOCKING CALL.
530 virtual void UnregisterObjectPath(const ObjectPath& object_path); 531 virtual void UnregisterObjectPath(const ObjectPath& object_path);
531 532
532 // Posts |task| to the task runner of the D-Bus thread. On completion, |reply| 533 // Returns the task runner of the D-Bus thread.
533 // is posted to the origin thread. 534 virtual base::TaskRunner* GetDBusTaskRunner();
534 virtual void PostTaskToDBusThreadAndReply(
535 const tracked_objects::Location& from_here,
536 const base::Closure& task,
537 const base::Closure& reply);
538 535
539 // Posts the task to the task runner of the thread that created the bus. 536 // Returns the task runner of the thread that created the bus.
540 virtual void PostTaskToOriginThread( 537 virtual base::TaskRunner* GetOriginTaskRunner();
541 const tracked_objects::Location& from_here,
542 const base::Closure& task);
543
544 // Posts the task to the task runner of the D-Bus thread. If D-Bus
545 // thread is not supplied, the task runner of the origin thread will be
546 // used.
547 virtual void PostTaskToDBusThread(
548 const tracked_objects::Location& from_here,
549 const base::Closure& task);
550
551 // Posts the delayed task to the task runner of the D-Bus thread. If
552 // D-Bus thread is not supplied, the task runner of the origin thread
553 // will be used.
554 virtual void PostDelayedTaskToDBusThread(
555 const tracked_objects::Location& from_here,
556 const base::Closure& task,
557 base::TimeDelta delay);
558 538
559 // Returns true if the bus has the D-Bus thread. 539 // Returns true if the bus has the D-Bus thread.
560 virtual bool HasDBusThread(); 540 virtual bool HasDBusThread();
561 541
562 // Check whether the current thread is on the origin thread (the thread 542 // Check whether the current thread is on the origin thread (the thread
563 // that created the bus). If not, DCHECK will fail. 543 // that created the bus). If not, DCHECK will fail.
564 virtual void AssertOnOriginThread(); 544 virtual void AssertOnOriginThread();
565 545
566 // Check whether the current thread is on the D-Bus thread. If not, 546 // Check whether the current thread is on the D-Bus thread. If not,
567 // DCHECK will fail. If the D-Bus thread is not supplied, it calls 547 // DCHECK will fail. If the D-Bus thread is not supplied, it calls
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 744
765 std::string address_; 745 std::string address_;
766 base::Closure on_disconnected_closure_; 746 base::Closure on_disconnected_closure_;
767 747
768 DISALLOW_COPY_AND_ASSIGN(Bus); 748 DISALLOW_COPY_AND_ASSIGN(Bus);
769 }; 749 };
770 750
771 } // namespace dbus 751 } // namespace dbus
772 752
773 #endif // DBUS_BUS_H_ 753 #endif // DBUS_BUS_H_
OLDNEW
« no previous file with comments | « chromeos/dbus/shill_client_unittest_base.cc ('k') | dbus/bus.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698