OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 CHROME_BROWSER_SYNC_NOTIFIER_BASE_SIGSLOTREPEATER_H_ | 5 #ifndef CHROME_COMMON_NET_NOTIFIER_BASE_SIGSLOTREPEATER_H_ |
6 #define CHROME_BROWSER_SYNC_NOTIFIER_BASE_SIGSLOTREPEATER_H_ | 6 #define CHROME_COMMON_NET_NOTIFIER_BASE_SIGSLOTREPEATER_H_ |
7 | 7 |
8 // Repeaters are both signals and slots, which are designed as intermediate | 8 // Repeaters are both signals and slots, which are designed as intermediate |
9 // pass-throughs for signals and slots which don't know about each other (for | 9 // pass-throughs for signals and slots which don't know about each other (for |
10 // modularity or encapsulation). This eliminates the need to declare a signal | 10 // modularity or encapsulation). This eliminates the need to declare a signal |
11 // handler whose sole purpose is to fire another signal. The repeater connects | 11 // handler whose sole purpose is to fire another signal. The repeater connects |
12 // to the originating signal using the 'repeat' method. When the repeated | 12 // to the originating signal using the 'repeat' method. When the repeated |
13 // signal fires, the repeater will also fire. | 13 // signal fires, the repeater will also fire. |
14 | 14 |
15 #include "talk/base/sigslot.h" | 15 #include "talk/base/sigslot.h" |
16 | 16 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 repeater3(const this_type& s) : base_type(s) { } | 73 repeater3(const this_type& s) : base_type(s) { } |
74 | 74 |
75 void reemit(arg1_type a1, arg2_type a2, arg3_type a3) { | 75 void reemit(arg1_type a1, arg2_type a2, arg3_type a3) { |
76 signal3<arg1_type, arg2_type, arg3_type, mt_policy>::emit(a1, a2, a3); | 76 signal3<arg1_type, arg2_type, arg3_type, mt_policy>::emit(a1, a2, a3); |
77 } | 77 } |
78 void repeat(base_type& s) { s.connect(this, &this_type::reemit); } | 78 void repeat(base_type& s) { s.connect(this, &this_type::reemit); } |
79 }; | 79 }; |
80 | 80 |
81 } // namespace sigslot | 81 } // namespace sigslot |
82 | 82 |
83 #endif // CHROME_BROWSER_SYNC_NOTIFIER_BASE_SIGSLOTREPEATER_H_ | 83 #endif // CHROME_COMMON_NET_NOTIFIER_BASE_SIGSLOTREPEATER_H_ |
OLD | NEW |