| OLD | NEW |
| 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 // Utility functions manipulating syncable::Entries, intended for use by the | 5 // Utility functions manipulating syncable::Entries, intended for use by the |
| 6 // syncer. | 6 // syncer. |
| 7 | 7 |
| 8 #ifndef SYNC_ENGINE_SYNCER_UTIL_H_ | 8 #ifndef SYNC_ENGINE_SYNCER_UTIL_H_ |
| 9 #define SYNC_ENGINE_SYNCER_UTIL_H_ | 9 #define SYNC_ENGINE_SYNCER_UTIL_H_ |
| 10 #pragma once | 10 #pragma once |
| 11 | 11 |
| 12 #include <set> | 12 #include <set> |
| 13 #include <string> | 13 #include <string> |
| 14 #include <vector> | 14 #include <vector> |
| 15 | 15 |
| 16 #include "sync/engine/syncer.h" | 16 #include "sync/engine/syncer.h" |
| 17 #include "sync/engine/syncer_types.h" | 17 #include "sync/engine/syncer_types.h" |
| 18 #include "sync/syncable/syncable.h" | 18 #include "sync/syncable/syncable.h" |
| 19 #include "sync/syncable/syncable_id.h" | 19 #include "sync/syncable/syncable_id.h" |
| 20 | 20 |
| 21 namespace browser_sync { | 21 namespace browser_sync { |
| 22 | 22 |
| 23 class Cryptographer; | 23 class Cryptographer; |
| 24 class SyncEntity; | 24 class SyncEntity; |
| 25 | 25 |
| 26 class SyncerUtil { | 26 class SyncerUtil { |
| 27 public: | 27 public: |
| 28 static void ChangeEntryIDAndUpdateChildren( | |
| 29 syncable::WriteTransaction* trans, | |
| 30 syncable::MutableEntry* entry, | |
| 31 const syncable::Id& new_id, | |
| 32 syncable::Directory::ChildHandles* children); | |
| 33 | |
| 34 // Returns the number of unsynced entries. | 28 // Returns the number of unsynced entries. |
| 35 static int GetUnsyncedEntries(syncable::BaseTransaction* trans, | 29 static int GetUnsyncedEntries(syncable::BaseTransaction* trans, |
| 36 std::vector<int64> *handles); | 30 std::vector<int64> *handles); |
| 37 | 31 |
| 38 static void ChangeEntryIDAndUpdateChildren(syncable::WriteTransaction* trans, | |
| 39 syncable::MutableEntry* entry, | |
| 40 const syncable::Id& new_id); | |
| 41 | |
| 42 // If the server sent down a client-tagged entry, or an entry whose | 32 // If the server sent down a client-tagged entry, or an entry whose |
| 43 // commit response was lost, it is necessary to update a local entry | 33 // commit response was lost, it is necessary to update a local entry |
| 44 // with an ID that doesn't match the ID of the update. Here, we | 34 // with an ID that doesn't match the ID of the update. Here, we |
| 45 // find the ID of such an entry, if it exists. This function may | 35 // find the ID of such an entry, if it exists. This function may |
| 46 // determine that |server_entry| should be dropped; if so, it returns | 36 // determine that |server_entry| should be dropped; if so, it returns |
| 47 // the null ID -- callers must handle this case. When update application | 37 // the null ID -- callers must handle this case. When update application |
| 48 // should proceed normally with a new local entry, this function will | 38 // should proceed normally with a new local entry, this function will |
| 49 // return server_entry.id(); the caller must create an entry with that | 39 // return server_entry.id(); the caller must create an entry with that |
| 50 // ID. This function does not alter the database. | 40 // ID. This function does not alter the database. |
| 51 static syncable::Id FindLocalIdToUpdate( | 41 static syncable::Id FindLocalIdToUpdate( |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 syncable::Directory* dir, | 118 syncable::Directory* dir, |
| 129 std::set<syncable::Id>* deleted_folders); | 119 std::set<syncable::Id>* deleted_folders); |
| 130 | 120 |
| 131 private: | 121 private: |
| 132 DISALLOW_IMPLICIT_CONSTRUCTORS(SyncerUtil); | 122 DISALLOW_IMPLICIT_CONSTRUCTORS(SyncerUtil); |
| 133 }; | 123 }; |
| 134 | 124 |
| 135 } // namespace browser_sync | 125 } // namespace browser_sync |
| 136 | 126 |
| 137 #endif // SYNC_ENGINE_SYNCER_UTIL_H_ | 127 #endif // SYNC_ENGINE_SYNCER_UTIL_H_ |
| OLD | NEW |