Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7366)

Unified Diff: chrome/browser/sync/engine/syncer_proto_util.h

Issue 194065: Initial commit of sync engine code to browser/sync.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Fixes to gtest include path, reverted syncapi. Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/engine/syncer_proto_util.h
===================================================================
--- chrome/browser/sync/engine/syncer_proto_util.h (revision 0)
+++ chrome/browser/sync/engine/syncer_proto_util.h (revision 0)
@@ -0,0 +1,73 @@
+// Copyright (c) 2006-2008 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 CHROME_BROWSER_SYNC_ENGINE_SYNCER_PROTO_UTIL_H_
+#define CHROME_BROWSER_SYNC_ENGINE_SYNCER_PROTO_UTIL_H_
+
+#include <string>
+
+#include "chrome/browser/sync/engine/syncer_session.h"
+#include "chrome/browser/sync/util/sync_types.h"
+#include "chrome/browser/sync/syncable/blob.h"
+
+namespace syncable {
+class Entry;
+class ScopedDirLookup;
+class SyncName;
+} // namespace syncable
+
+namespace sync_pb {
+class ClientToServerResponse;
+} // namespace sync_pb
+
+namespace browser_sync {
+
+class ClientToServerMessage;
+class SyncerSession;
+class SyncEntity;
+class CommitResponse_EntryResponse;
+
+class SyncerProtoUtil {
+ public:
+ // Posts the given message and fills the buffer with the returned value.
+ // Returns true on success. Also handles store birthday verification:
+ // session->status()->syncer_stuck_ is set true if the birthday is
+ // incorrect. A false value will always be returned if birthday is bad.
+ static bool PostClientToServerMessage(ClientToServerMessage* msg,
+ sync_pb::ClientToServerResponse* response, SyncerSession *session);
idana 2009/09/10 05:44:37 "SyncerSession *session" -> "SyncerSession* sessio
+
+ // Compares a syncable Entry to SyncEntity, returns true iff
+ // the data is identical.
+ //
+ // TODO(sync): The places where this function is used are arguable big
+ // causes of the fragility, because there's a tendency to freak out
+ // the moment the local and server values diverge. However, this almost
+ // always indicates a sync bug somewhere earlier in the sync cycle.
+ static bool Compare(const syncable::Entry& local_entry,
+ const SyncEntity& server_entry);
+
+ // Utility methods for converting between syncable::Blobs and protobuf
+ // byte fields.
+ static void CopyProtoBytesIntoBlob(const std::string& proto_bytes,
+ syncable::Blob* blob);
+ static bool ProtoBytesEqualsBlob(const std::string& proto_bytes,
+ const syncable::Blob& blob);
+ static void CopyBlobIntoProtoBytes(const syncable::Blob& blob,
+ std::string* proto_bytes);
+
+ // Extract the name fields from a sync entity.
+ static syncable::SyncName NameFromSyncEntity(
+ const SyncEntity& entry);
+
+ // Extract the name fields from a commit entry response.
+ static syncable::SyncName NameFromCommitEntryResponse(
+ const CommitResponse_EntryResponse& entry);
+
+ private:
+ SyncerProtoUtil() {}
+ DISALLOW_COPY_AND_ASSIGN(SyncerProtoUtil);
+};
idana 2009/09/10 05:44:37 Add extra blank line.
+} // namespace browser_sync
+
+#endif // CHROME_BROWSER_SYNC_ENGINE_SYNCER_PROTO_UTIL_H_
Property changes on: chrome\browser\sync\engine\syncer_proto_util.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698