diff options
author | nick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-10 06:05:27 +0000 |
---|---|---|
committer | nick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-10 06:05:27 +0000 |
commit | 5852edc1b6eab234b9e048c41dd0d664ae7fc747 (patch) | |
tree | 9e5d8eb4833b76cdb11e66fc3607689e0f5e0122 /chrome/browser/sync/protocol/proto2_to_oproto.py | |
parent | f6059e37f8b8ac335ce18a189a13e702974a1c7e (diff) | |
download | chromium_src-5852edc1b6eab234b9e048c41dd0d664ae7fc747.zip chromium_src-5852edc1b6eab234b9e048c41dd0d664ae7fc747.tar.gz chromium_src-5852edc1b6eab234b9e048c41dd0d664ae7fc747.tar.bz2 |
Initial commit of sync engine code to browser/sync.
The code is not built on any platform yet. That will arrive
as a subsequent checkin.
This is an implementation of the interface exposed earlier
through syncapi.h. It is the client side of a sync
protocol that lets users sync their browser data
(currently, just bookmarks) with their Google Account.
Table of contents:
browser/sync/
protocol - The protocol definition, and
other definitions necessary to connect to
the service.
syncable/ - defines a data model for syncable objects,
and provides a sqlite-based backing store
for this model.
engine/ - includes the core sync logic, including commiting
changes to the server, downloading changes from
the server, resolving conflicts, other parts of
the sync algorithm.
engine/net - parts of the sync engine focused on the
business of talking to the server. Some of
this is binds a generic "server connection"
interface to a concrete implementation
provided by Chromium.
notifier - the part of the syncer focused on the business
of sending and receiving xmpp notifications.
Notifications are used instead of polling to
achieve very low latency change propagation.
util - not necessarily sync specific utility code. Much
of this is scaffolding which should either be
replaced by, or merged with, the utility code
in base/.
BUG=none
TEST=this code includes its own suite of unit tests.
Review URL: http://codereview.chromium.org/194065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25850 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/protocol/proto2_to_oproto.py')
-rw-r--r-- | chrome/browser/sync/protocol/proto2_to_oproto.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/chrome/browser/sync/protocol/proto2_to_oproto.py b/chrome/browser/sync/protocol/proto2_to_oproto.py new file mode 100644 index 0000000..eb14ab9 --- /dev/null +++ b/chrome/browser/sync/protocol/proto2_to_oproto.py @@ -0,0 +1,30 @@ +# Copyright (c) 2009 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. + +""" Strip a .proto of options not supported by open-source protobuf tools. """ + +import re +import sys + +if __name__ == '__main__': + if len(sys.argv) != 3: + print "Usage: %s input_file output_file " % sys.argv[0] + sys.exit(1) + + input_file = sys.argv[1] + output_file = sys.argv[2] + + protobuf = open(input_file).read() + + # Comment out lines like "option java_api_version = 1;" + protobuf = re.sub("(option .*api_version.*\=.*)", r"// \1", protobuf) + + # Comment out lines like "option java_java5_enums = false;" + protobuf = re.sub("(option .*java_java5_enums.*\=.*)", r"// \1", protobuf) + + # Comment out the java package. + protobuf = re.sub("(option .*java_package.*\=.*)", r"// \1", protobuf) + + open(output_file, "w").write(protobuf) + |