|  | // Copyright 2013 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef SYNC_ENGINE_GET_COMMIT_IDS_H_ | 
|  | #define SYNC_ENGINE_GET_COMMIT_IDS_H_ | 
|  |  | 
|  | #include <stddef.h> | 
|  | #include <stdint.h> | 
|  |  | 
|  | #include <vector> | 
|  |  | 
|  | #include "sync/base/sync_export.h" | 
|  | #include "sync/internal_api/public/base/model_type.h" | 
|  | #include "sync/syncable/directory.h" | 
|  |  | 
|  | using std::vector; | 
|  |  | 
|  | namespace syncer { | 
|  |  | 
|  | namespace syncable { | 
|  | class BaseTransaction; | 
|  | } | 
|  |  | 
|  | // Returns up to |max_entries| metahandles of entries that belong to the | 
|  | // specified |type| and are ready for commit. | 
|  | // | 
|  | // This function returns handles in "commit order".  A valid commit ordering is | 
|  | // one where server-unknown items are committed parents-first, and deletions | 
|  | // are committed children-first. | 
|  | // | 
|  | // This function also enforces some position ordering constraints that are no | 
|  | // longer necessary.  We should relax those constraints.  See crbug.com/287938. | 
|  | SYNC_EXPORT void GetCommitIdsForType(syncable::BaseTransaction* trans, | 
|  | ModelType type, | 
|  | size_t max_entries, | 
|  | std::vector<int64_t>* out); | 
|  |  | 
|  | }  // namespace syncer | 
|  |  | 
|  | #endif  // SYNC_ENGINE_GET_COMMIT_IDS_H_ |