| // Copyright (c) 2012 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_COMMIT_H_ |
| #define SYNC_ENGINE_COMMIT_H_ |
| |
| #include "sync/internal_api/public/util/syncer_error.h" |
| |
| namespace syncer { |
| |
| namespace sessions { |
| class SyncSession; |
| } |
| |
| class Syncer; |
| |
| // This function will commit batches of unsynced items to the server until the |
| // number of unsynced and ready to commit items reaches zero or an error is |
| // encountered. A request to exit early will be treated as an error and will |
| // abort any blocking operations. |
| // |
| // The Syncer parameter is provided only for access to its ExitRequested() |
| // method. This is technically unnecessary since an early exit request should |
| // be detected as we attempt to contact the sync server. |
| // |
| // The SyncSession parameter contains pointers to various bits of state, |
| // including the syncable::Directory that contains all sync items and the |
| // ServerConnectionManager used to contact the server. |
| SyncerError BuildAndPostCommits( |
| Syncer* syncer, |
| sessions::SyncSession* session); |
| |
| } // namespace syncer |
| |
| #endif // SYNC_ENGINE_COMMIT_H_ |