OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 SYNC_INTERNAL_API_JS_MUTATION_EVENT_OBSERVER_H_ | 5 #ifndef SYNC_INTERNAL_API_JS_MUTATION_EVENT_OBSERVER_H_ |
6 #define SYNC_INTERNAL_API_JS_MUTATION_EVENT_OBSERVER_H_ | 6 #define SYNC_INTERNAL_API_JS_MUTATION_EVENT_OBSERVER_H_ |
7 | 7 |
| 8 #include <stdint.h> |
| 9 |
8 #include <string> | 10 #include <string> |
9 | 11 |
10 #include "base/basictypes.h" | |
11 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 13 #include "base/macros.h" |
12 #include "base/memory/weak_ptr.h" | 14 #include "base/memory/weak_ptr.h" |
13 #include "base/threading/non_thread_safe.h" | 15 #include "base/threading/non_thread_safe.h" |
14 #include "sync/base/sync_export.h" | 16 #include "sync/base/sync_export.h" |
15 #include "sync/internal_api/public/sync_manager.h" | 17 #include "sync/internal_api/public/sync_manager.h" |
16 #include "sync/internal_api/public/util/weak_handle.h" | 18 #include "sync/internal_api/public/util/weak_handle.h" |
17 #include "sync/syncable/transaction_observer.h" | 19 #include "sync/syncable/transaction_observer.h" |
18 | 20 |
19 namespace tracked_objects { | 21 namespace tracked_objects { |
20 class Location; | 22 class Location; |
21 } // namespace tracked_objects | 23 } // namespace tracked_objects |
(...skipping 15 matching lines...) Expand all Loading... |
37 ~JsMutationEventObserver() override; | 39 ~JsMutationEventObserver() override; |
38 | 40 |
39 base::WeakPtr<JsMutationEventObserver> AsWeakPtr(); | 41 base::WeakPtr<JsMutationEventObserver> AsWeakPtr(); |
40 | 42 |
41 void InvalidateWeakPtrs(); | 43 void InvalidateWeakPtrs(); |
42 | 44 |
43 void SetJsEventHandler(const WeakHandle<JsEventHandler>& event_handler); | 45 void SetJsEventHandler(const WeakHandle<JsEventHandler>& event_handler); |
44 | 46 |
45 // SyncManager::ChangeObserver implementation. | 47 // SyncManager::ChangeObserver implementation. |
46 void OnChangesApplied(ModelType model_type, | 48 void OnChangesApplied(ModelType model_type, |
47 int64 write_transaction_id, | 49 int64_t write_transaction_id, |
48 const ImmutableChangeRecordList& changes) override; | 50 const ImmutableChangeRecordList& changes) override; |
49 void OnChangesComplete(ModelType model_type) override; | 51 void OnChangesComplete(ModelType model_type) override; |
50 | 52 |
51 // syncable::TransactionObserver implementation. | 53 // syncable::TransactionObserver implementation. |
52 void OnTransactionWrite( | 54 void OnTransactionWrite( |
53 const syncable::ImmutableWriteTransactionInfo& write_transaction_info, | 55 const syncable::ImmutableWriteTransactionInfo& write_transaction_info, |
54 ModelTypeSet models_with_changes) override; | 56 ModelTypeSet models_with_changes) override; |
55 | 57 |
56 private: | 58 private: |
57 WeakHandle<JsEventHandler> event_handler_; | 59 WeakHandle<JsEventHandler> event_handler_; |
58 | 60 |
59 void HandleJsEvent( | 61 void HandleJsEvent( |
60 const tracked_objects::Location& from_here, | 62 const tracked_objects::Location& from_here, |
61 const std::string& name, const JsEventDetails& details); | 63 const std::string& name, const JsEventDetails& details); |
62 | 64 |
63 base::WeakPtrFactory<JsMutationEventObserver> weak_ptr_factory_; | 65 base::WeakPtrFactory<JsMutationEventObserver> weak_ptr_factory_; |
64 | 66 |
65 DISALLOW_COPY_AND_ASSIGN(JsMutationEventObserver); | 67 DISALLOW_COPY_AND_ASSIGN(JsMutationEventObserver); |
66 }; | 68 }; |
67 | 69 |
68 } // namespace syncer | 70 } // namespace syncer |
69 | 71 |
70 #endif // SYNC_INTERNAL_API_JS_MUTATION_EVENT_OBSERVER_H_ | 72 #endif // SYNC_INTERNAL_API_JS_MUTATION_EVENT_OBSERVER_H_ |
OLD | NEW |