summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 23:47:42 +0000
committerrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 23:47:42 +0000
commitaa166d02133c942de7498ebab60a47de2827f3df (patch)
tree6d617d623d0a6b361ee4bf21728a5467a87ed613 /sync
parentce507cbf2a4c50d83855f08f8717df736584338b (diff)
downloadchromium_src-aa166d02133c942de7498ebab60a47de2827f3df.zip
chromium_src-aa166d02133c942de7498ebab60a47de2827f3df.tar.gz
chromium_src-aa166d02133c942de7498ebab60a47de2827f3df.tar.bz2
[sync] Componentize sync: Part 2: Add SYNC_EXPORTs to files in src/sync/
One of the long term goals of the sync team is to pull sync code out of chrome.dll and into its own component. As of today, several chrome targets depend on various sync targets as defined in sync.gyp. We'd like to move to a world where all chrome targets outside sync.gyp simply depend on the target sync.gyp:sync, which is built into its own component. This patch sets the stage for full componentization by adding SYNC_EXPORT annotations to classes / methods within src/sync. The final step of breaking off sync into its own component will be done in https://codereview.chromium.org/11412211. BUG=136928 Review URL: https://chromiumcodereview.appspot.com/11515009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172458 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync')
-rw-r--r--sync/api/DEPS1
-rw-r--r--sync/api/sync_change.h5
-rw-r--r--sync/api/sync_change_processor.h5
-rw-r--r--sync/api/sync_data.h5
-rw-r--r--sync/api/sync_error.h5
-rw-r--r--sync/api/sync_error_factory.h5
-rw-r--r--sync/api/sync_merge_result.h5
-rw-r--r--sync/api/syncable_service.h8
-rw-r--r--sync/internal_api/DEPS1
-rw-r--r--sync/internal_api/public/base/invalidation.h5
-rw-r--r--sync/internal_api/public/base/model_type.h8
-rw-r--r--sync/internal_api/public/base_node.h5
-rw-r--r--sync/internal_api/public/base_transaction.h8
-rw-r--r--sync/internal_api/public/change_record.h5
-rw-r--r--sync/internal_api/public/data_type_association_stats.h5
-rw-r--r--sync/internal_api/public/http_bridge.h5
-rw-r--r--sync/internal_api/public/http_post_provider_factory.h6
-rw-r--r--sync/internal_api/public/internal_components_factory.h5
-rw-r--r--sync/internal_api/public/internal_components_factory_impl.h6
-rw-r--r--sync/internal_api/public/read_node.h5
-rw-r--r--sync/internal_api/public/read_transaction.h5
-rw-r--r--sync/internal_api/public/sessions/model_neutral_state.h5
-rw-r--r--sync/internal_api/public/sessions/sync_session_snapshot.h5
-rw-r--r--sync/internal_api/public/sessions/sync_source_info.h5
-rw-r--r--sync/internal_api/public/sync_encryption_handler.h7
-rw-r--r--sync/internal_api/public/sync_manager.h9
-rw-r--r--sync/internal_api/public/sync_manager_factory.h5
-rw-r--r--sync/internal_api/public/util/sync_string_conversions.h9
-rw-r--r--sync/internal_api/public/util/syncer_error.h6
-rw-r--r--sync/internal_api/public/util/weak_handle.h4
-rw-r--r--sync/internal_api/public/write_node.h5
-rw-r--r--sync/internal_api/public/write_transaction.h5
-rw-r--r--sync/js/DEPS1
-rw-r--r--sync/js/js_arg_list.h5
-rw-r--r--sync/js/js_controller.h6
-rw-r--r--sync/js/js_event_details.h5
-rw-r--r--sync/js/js_event_handler.h6
-rw-r--r--sync/js/sync_js_controller.h5
-rw-r--r--sync/notifier/DEPS1
-rw-r--r--sync/notifier/invalidation_state_tracker.h5
-rw-r--r--sync/notifier/invalidation_util.h11
-rw-r--r--sync/notifier/invalidator_factory.h5
-rw-r--r--sync/notifier/invalidator_registrar.h5
-rw-r--r--sync/notifier/invalidator_state.h5
-rw-r--r--sync/notifier/object_id_invalidation_map.h10
-rw-r--r--sync/notifier/p2p_invalidator.h7
-rw-r--r--sync/protocol/DEPS1
-rw-r--r--sync/protocol/proto_enum_conversions.h5
-rw-r--r--sync/protocol/proto_value_conversions.h6
-rw-r--r--sync/protocol/sync_protocol_error.h9
-rw-r--r--sync/syncable/DEPS1
-rw-r--r--sync/syncable/directory.h5
-rw-r--r--sync/syncable/write_transaction.h5
-rw-r--r--sync/util/DEPS1
-rw-r--r--sync/util/cryptographer.h5
-rw-r--r--sync/util/extensions_activity_monitor.h7
-rw-r--r--sync/util/get_session_name.h5
-rw-r--r--sync/util/nigori.h5
-rw-r--r--sync/util/time.h7
59 files changed, 188 insertions, 124 deletions
diff --git a/sync/api/DEPS b/sync/api/DEPS
index c3b8bac..c526c08 100644
--- a/sync/api/DEPS
+++ b/sync/api/DEPS
@@ -1,4 +1,5 @@
include_rules = [
+ "+sync/base",
"+sync/internal_api/base_node.h",
"+sync/internal_api/public",
"+sync/protocol",
diff --git a/sync/api/sync_change.h b/sync/api/sync_change.h
index d519cfe..50becf4 100644
--- a/sync/api/sync_change.h
+++ b/sync/api/sync_change.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -11,6 +11,7 @@
#include "base/location.h"
#include "sync/api/sync_data.h"
+#include "sync/base/sync_export.h"
namespace syncer {
@@ -19,7 +20,7 @@ namespace syncer {
// is encapsulated within the SyncChange, which, once created, is immutable.
// Note: it is safe and cheap to pass these by value or make copies, as they do
// not create deep copies of their internal data.
-class SyncChange {
+class SYNC_EXPORT SyncChange {
public:
enum SyncChangeType {
ACTION_INVALID,
diff --git a/sync/api/sync_change_processor.h b/sync/api/sync_change_processor.h
index ad7c6d1..c2dad3f 100644
--- a/sync/api/sync_change_processor.h
+++ b/sync/api/sync_change_processor.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -8,6 +8,7 @@
#include <vector>
#include "sync/api/sync_error.h"
+#include "sync/base/sync_export.h"
namespace tracked_objects {
class Location;
@@ -20,7 +21,7 @@ class SyncChange;
typedef std::vector<SyncChange> SyncChangeList;
// An interface for services that handle receiving SyncChanges.
-class SyncChangeProcessor {
+class SYNC_EXPORT SyncChangeProcessor {
public:
SyncChangeProcessor();
virtual ~SyncChangeProcessor();
diff --git a/sync/api/sync_data.h b/sync/api/sync_data.h
index b88e0e7..c3404c3 100644
--- a/sync/api/sync_data.h
+++ b/sync/api/sync_data.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,6 +10,7 @@
#include <vector>
#include "base/basictypes.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/internal_api/public/util/immutable.h"
@@ -22,7 +23,7 @@ namespace syncer {
// A light-weight container for immutable sync data. Pass-by-value and storage
// in STL containers are supported and encouraged if helpful.
-class SyncData {
+class SYNC_EXPORT SyncData {
public:
// Creates an empty and invalid SyncData.
SyncData();
diff --git a/sync/api/sync_error.h b/sync/api/sync_error.h
index c674993..a3382b4 100644
--- a/sync/api/sync_error.h
+++ b/sync/api/sync_error.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include <string>
#include "base/memory/scoped_ptr.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace tracked_objects {
@@ -22,7 +23,7 @@ namespace syncer {
// unrecoverable for the datatype creating them, and should only be used as
// such.
// This class is copy-friendly and thread-safe.
-class SyncError {
+class SYNC_EXPORT SyncError {
public:
// Default constructor refers to "no error", and IsSet() will return false.
SyncError();
diff --git a/sync/api/sync_error_factory.h b/sync/api/sync_error_factory.h
index 39fab50..9b306b7 100644
--- a/sync/api/sync_error_factory.h
+++ b/sync/api/sync_error_factory.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,10 +9,11 @@
#include "base/location.h"
#include "sync/api/sync_error.h"
+#include "sync/base/sync_export.h"
namespace syncer {
-class SyncErrorFactory {
+class SYNC_EXPORT SyncErrorFactory {
public:
SyncErrorFactory();
virtual ~SyncErrorFactory();
diff --git a/sync/api/sync_merge_result.h b/sync/api/sync_merge_result.h
index baa4eb4..4ffd474 100644
--- a/sync/api/sync_merge_result.h
+++ b/sync/api/sync_merge_result.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -6,6 +6,7 @@
#define SYNC_API_SYNC_MERGE_RESULT_H_
#include "sync/api/sync_error.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace syncer {
@@ -17,7 +18,7 @@ namespace syncer {
// by the local SyncableService, all values correspond to the local state before
// and after merging, and the delta's applied to that state. Sync's change
// processor will create a separate merge result.
-class SyncMergeResult {
+class SYNC_EXPORT SyncMergeResult {
public:
// Initialize an empty merge result for model type |type|.
explicit SyncMergeResult(ModelType type);
diff --git a/sync/api/syncable_service.h b/sync/api/syncable_service.h
index 571c2e7..8d187fc 100644
--- a/sync/api/syncable_service.h
+++ b/sync/api/syncable_service.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -14,6 +14,7 @@
#include "sync/api/sync_data.h"
#include "sync/api/sync_error.h"
#include "sync/api/sync_merge_result.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace syncer {
@@ -25,8 +26,9 @@ typedef std::vector<SyncData> SyncDataList;
// TODO(zea): remove SupportsWeakPtr in favor of having all SyncableService
// implementers provide a way of getting a weak pointer to themselves.
// See crbug.com/100114.
-class SyncableService : public SyncChangeProcessor,
- public base::SupportsWeakPtr<SyncableService> {
+class SYNC_EXPORT SyncableService
+ : public SyncChangeProcessor,
+ public base::SupportsWeakPtr<SyncableService> {
public:
// Informs the service to begin syncing the specified synced datatype |type|.
// The service should then merge |initial_sync_data| into it's local data,
diff --git a/sync/internal_api/DEPS b/sync/internal_api/DEPS
index ab23f90..394c49c 100644
--- a/sync/internal_api/DEPS
+++ b/sync/internal_api/DEPS
@@ -1,6 +1,7 @@
include_rules = [
"+googleurl",
"+net",
+ "+sync/base",
"+sync/engine",
"+sync/js",
"+sync/notifier",
diff --git a/sync/internal_api/public/base/invalidation.h b/sync/internal_api/public/base/invalidation.h
index f25304b..18afcab 100644
--- a/sync/internal_api/public/base/invalidation.h
+++ b/sync/internal_api/public/base/invalidation.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
#include "base/time.h"
+#include "sync/base/sync_export.h"
namespace base {
class DictionaryValue;
@@ -19,7 +20,7 @@ namespace syncer {
// Opaque class that represents a local ack handle. We don't reuse the
// invalidation ack handles to avoid unnecessary dependencies.
-class AckHandle {
+class SYNC_EXPORT AckHandle {
public:
static AckHandle CreateUnique();
static AckHandle InvalidAckHandle();
diff --git a/sync/internal_api/public/base/model_type.h b/sync/internal_api/public/base/model_type.h
index 327d980..5b9b92d 100644
--- a/sync/internal_api/public/base/model_type.h
+++ b/sync/internal_api/public/base/model_type.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -137,7 +137,7 @@ bool ShouldMaintainPosition(ModelType model_type);
// These are the user-selectable data types. Note that some of these share a
// preference flag, so not all of them are individually user-selectable.
-ModelTypeSet UserTypes();
+SYNC_EXPORT ModelTypeSet UserTypes();
// This is the subset of UserTypes() that can be encrypted.
ModelTypeSet EncryptableUserTypes();
@@ -152,12 +152,12 @@ ModelTypeSet EncryptableUserTypes();
// - Their contents are not encrypted automatically.
// - They support custom update application and conflict resolution logic.
// - All change processing occurs on the sync thread (GROUP_PASSIVE).
-ModelTypeSet ControlTypes();
+SYNC_EXPORT ModelTypeSet ControlTypes();
// Returns true if this is a control type.
//
// See comment above for more information on what makes these types special.
-bool IsControlType(ModelType model_type);
+SYNC_EXPORT bool IsControlType(ModelType model_type);
// Determine a model type from the field number of its associated
// EntitySpecifics field. Returns UNSPECIFIED if the field number is
diff --git a/sync/internal_api/public/base_node.h b/sync/internal_api/public/base_node.h
index b9c363d..8afbeaa 100644
--- a/sync/internal_api/public/base_node.h
+++ b/sync/internal_api/public/base_node.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -13,6 +13,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/time.h"
#include "googleurl/src/gurl.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/protocol/sync.pb.h"
@@ -54,7 +55,7 @@ static const int64 kInvalidId = 0;
// transaction is necessary to create a BaseNode or any of its children.
// Unlike syncable::Entry, a sync API BaseNode is identified primarily by its
// int64 metahandle, which we call an ID here.
-class BaseNode {
+class SYNC_EXPORT BaseNode {
public:
// Enumerates the possible outcomes of trying to initialize a sync node.
enum InitByLookupResult {
diff --git a/sync/internal_api/public/base_transaction.h b/sync/internal_api/public/base_transaction.h
index 7a2ba37..2f4fa3c 100644
--- a/sync/internal_api/public/base_transaction.h
+++ b/sync/internal_api/public/base_transaction.h
@@ -1,13 +1,13 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_INTERNAL_API_PUBLIC_BASE_TRANSACTION_H_
#define SYNC_INTERNAL_API_PUBLIC_BASE_TRANSACTION_H_
-#include "sync/internal_api/public/user_share.h"
-
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
+#include "sync/internal_api/public/user_share.h"
#include "sync/util/cryptographer.h"
namespace syncer {
@@ -24,7 +24,7 @@ class Directory;
// syncable, and are used in a similar way. Unlike syncable::BaseTransaction,
// whose construction requires an explicit syncable::Directory, a sync
// API BaseTransaction is created from a UserShare object.
-class BaseTransaction {
+class SYNC_EXPORT BaseTransaction {
public:
// Provide access to the underlying syncable objects from BaseNode.
virtual syncable::BaseTransaction* GetWrappedTrans() const = 0;
diff --git a/sync/internal_api/public/change_record.h b/sync/internal_api/public/change_record.h
index 876e450..d7dc587 100644
--- a/sync/internal_api/public/change_record.h
+++ b/sync/internal_api/public/change_record.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include "base/basictypes.h"
#include "base/memory/linked_ptr.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/immutable.h"
#include "sync/protocol/password_specifics.pb.h"
#include "sync/protocol/sync.pb.h"
@@ -21,7 +22,7 @@ namespace syncer {
// TODO(zea): One day get passwords playing nicely with the rest of encryption
// and get rid of this.
-class ExtraPasswordChangeRecordData {
+class SYNC_EXPORT ExtraPasswordChangeRecordData {
public:
ExtraPasswordChangeRecordData();
explicit ExtraPasswordChangeRecordData(
diff --git a/sync/internal_api/public/data_type_association_stats.h b/sync/internal_api/public/data_type_association_stats.h
index f83eddd..344624a 100644
--- a/sync/internal_api/public/data_type_association_stats.h
+++ b/sync/internal_api/public/data_type_association_stats.h
@@ -1,16 +1,17 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_INTERNAL_API_PUBLIC_DATA_TYPE_ASSOCIATION_STATS_H_
#define SYNC_INTERNAL_API_PUBLIC_DATA_TYPE_ASSOCIATION_STATS_H_
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace syncer {
// Container for datatype association results.
-struct DataTypeAssociationStats {
+struct SYNC_EXPORT DataTypeAssociationStats {
DataTypeAssociationStats();
~DataTypeAssociationStats();
diff --git a/sync/internal_api/public/http_bridge.h b/sync/internal_api/public/http_bridge.h
index 40cf6e7..880c588 100644
--- a/sync/internal_api/public/http_bridge.h
+++ b/sync/internal_api/public/http_bridge.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -17,6 +17,7 @@
#include "net/url_request/url_fetcher_delegate.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_getter.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/http_post_provider_factory.h"
#include "sync/internal_api/public/http_post_provider_interface.h"
@@ -203,7 +204,7 @@ class HttpBridge : public base::RefCountedThreadSafe<HttpBridge>,
DISALLOW_COPY_AND_ASSIGN(HttpBridge);
};
-class HttpBridgeFactory : public HttpPostProviderFactory {
+class SYNC_EXPORT HttpBridgeFactory : public HttpPostProviderFactory {
public:
HttpBridgeFactory(
net::URLRequestContextGetter* baseline_context_getter,
diff --git a/sync/internal_api/public/http_post_provider_factory.h b/sync/internal_api/public/http_post_provider_factory.h
index dfb87a3..e6d6cb0 100644
--- a/sync/internal_api/public/http_post_provider_factory.h
+++ b/sync/internal_api/public/http_post_provider_factory.h
@@ -1,10 +1,12 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_INTERNAL_API_PUBLIC_HTTP_POST_PROVIDER_FACTORY_H_
#define SYNC_INTERNAL_API_PUBLIC_HTTP_POST_PROVIDER_FACTORY_H_
+#include "sync/base/sync_export.h"
+
namespace syncer {
class HttpPostProviderInterface;
@@ -13,7 +15,7 @@ class HttpPostProviderInterface;
// implementations and dependencies.
// A factory instance itself should be owned by whomever uses it to create
// HttpPostProviders.
-class HttpPostProviderFactory {
+class SYNC_EXPORT HttpPostProviderFactory {
public:
virtual ~HttpPostProviderFactory() {}
diff --git a/sync/internal_api/public/internal_components_factory.h b/sync/internal_api/public/internal_components_factory.h
index 4830ce1..4b31781 100644
--- a/sync/internal_api/public/internal_components_factory.h
+++ b/sync/internal_api/public/internal_components_factory.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
//
@@ -13,6 +13,7 @@
#include <vector>
#include "base/file_path.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/engine/model_safe_worker.h"
namespace syncer {
@@ -35,7 +36,7 @@ class Directory;
class DirectoryBackingStore;
}
-class InternalComponentsFactory {
+class SYNC_EXPORT InternalComponentsFactory {
public:
enum EncryptionMethod {
ENCRYPTION_LEGACY,
diff --git a/sync/internal_api/public/internal_components_factory_impl.h b/sync/internal_api/public/internal_components_factory_impl.h
index 1b64d0b..66b8baa 100644
--- a/sync/internal_api/public/internal_components_factory_impl.h
+++ b/sync/internal_api/public/internal_components_factory_impl.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
//
@@ -8,11 +8,13 @@
#ifndef SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_
#define SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/internal_components_factory.h"
namespace syncer {
-class InternalComponentsFactoryImpl : public InternalComponentsFactory {
+class SYNC_EXPORT InternalComponentsFactoryImpl
+ : public InternalComponentsFactory {
public:
InternalComponentsFactoryImpl(const Switches& switches);
virtual ~InternalComponentsFactoryImpl();
diff --git a/sync/internal_api/public/read_node.h b/sync/internal_api/public/read_node.h
index 78d67cc..50e7639 100644
--- a/sync/internal_api/public/read_node.h
+++ b/sync/internal_api/public/read_node.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/internal_api/public/base_node.h"
@@ -16,7 +17,7 @@ namespace syncer {
// ReadNode wraps a syncable::Entry to provide the functionality of a
// read-only BaseNode.
-class ReadNode : public BaseNode {
+class SYNC_EXPORT ReadNode : public BaseNode {
public:
// Create an unpopulated ReadNode on the given transaction. Call some flavor
// of Init to populate the ReadNode with a database entry.
diff --git a/sync/internal_api/public/read_transaction.h b/sync/internal_api/public/read_transaction.h
index 6619bb0..02e2633 100644
--- a/sync/internal_api/public/read_transaction.h
+++ b/sync/internal_api/public/read_transaction.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -6,6 +6,7 @@
#define SYNC_INTERNAL_API_PUBLIC_READ_TRANSACTION_H_
#include "base/compiler_specific.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base_transaction.h"
namespace tracked_objects {
@@ -18,7 +19,7 @@ struct UserShare;
// Sync API's ReadTransaction is a read-only BaseTransaction. It wraps
// a syncable::ReadTransaction.
-class ReadTransaction : public BaseTransaction {
+class SYNC_EXPORT ReadTransaction : public BaseTransaction {
public:
// Start a new read-only transaction on the specified repository.
ReadTransaction(const tracked_objects::Location& from_here,
diff --git a/sync/internal_api/public/sessions/model_neutral_state.h b/sync/internal_api/public/sessions/model_neutral_state.h
index 7541462..e61e995 100644
--- a/sync/internal_api/public/sessions/model_neutral_state.h
+++ b/sync/internal_api/public/sessions/model_neutral_state.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -6,6 +6,7 @@
#define SYNC_SESSIONS_MODEL_NEUTRAL_STATE_H
#include "base/basictypes.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/syncer_error.h"
#include "sync/protocol/sync.pb.h"
#include "sync/protocol/sync_protocol_error.h"
@@ -17,7 +18,7 @@ namespace sessions {
// components of the global grouping can internally implement finer grained
// scope control, but the top level entity is still a singleton with respect to
// model types.
-struct ModelNeutralState {
+struct SYNC_EXPORT ModelNeutralState {
ModelNeutralState();
~ModelNeutralState();
diff --git a/sync/internal_api/public/sessions/sync_session_snapshot.h b/sync/internal_api/public/sessions/sync_session_snapshot.h
index 8252419..25195a7 100644
--- a/sync/internal_api/public/sessions/sync_session_snapshot.h
+++ b/sync/internal_api/public/sessions/sync_session_snapshot.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include "base/basictypes.h"
#include "base/time.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/internal_api/public/base/progress_marker_map.h"
#include "sync/internal_api/public/sessions/model_neutral_state.h"
@@ -26,7 +27,7 @@ namespace sessions {
// TODO(zea): if copying this all over the place starts getting expensive,
// consider passing around immutable references instead of values.
// Default copy and assign welcome.
-class SyncSessionSnapshot {
+class SYNC_EXPORT SyncSessionSnapshot {
public:
SyncSessionSnapshot();
SyncSessionSnapshot(
diff --git a/sync/internal_api/public/sessions/sync_source_info.h b/sync/internal_api/public/sessions/sync_source_info.h
index f1f0920..f41727b 100644
--- a/sync/internal_api/public/sessions/sync_source_info.h
+++ b/sync/internal_api/public/sessions/sync_source_info.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -6,6 +6,7 @@
#define SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SOURCE_INFO_H_
#include "base/basictypes.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/internal_api/public/base/model_type_invalidation_map.h"
#include "sync/protocol/sync.pb.h"
@@ -20,7 +21,7 @@ namespace sessions {
// A container for the source of a sync session. This includes the update
// source, the datatypes triggering the sync session, and possible session
// specific payloads which should be sent to the server.
-struct SyncSourceInfo {
+struct SYNC_EXPORT SyncSourceInfo {
SyncSourceInfo();
explicit SyncSourceInfo(const ModelTypeInvalidationMap& t);
SyncSourceInfo(
diff --git a/sync/internal_api/public/sync_encryption_handler.h b/sync/internal_api/public/sync_encryption_handler.h
index d7be069..e4df223 100644
--- a/sync/internal_api/public/sync_encryption_handler.h
+++ b/sync/internal_api/public/sync_encryption_handler.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -8,6 +8,7 @@
#include <string>
#include "base/time.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace sync_pb {
@@ -50,11 +51,11 @@ enum BootstrapTokenType {
// and keeps the nigori node up to date.
// Implementations of this class must be assumed to be non-thread-safe. All
// methods must be invoked on the sync thread.
-class SyncEncryptionHandler {
+class SYNC_EXPORT SyncEncryptionHandler {
public:
// All Observer methods are done synchronously from within a transaction and
// on the sync thread.
- class Observer {
+ class SYNC_EXPORT Observer {
public:
Observer();
diff --git a/sync/internal_api/public/sync_manager.h b/sync/internal_api/public/sync_manager.h
index b26bd4f..9746928 100644
--- a/sync/internal_api/public/sync_manager.h
+++ b/sync/internal_api/public/sync_manager.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -14,6 +14,7 @@
#include "base/memory/ref_counted.h"
#include "base/task_runner.h"
#include "base/threading/thread_checker.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/internal_api/public/change_record.h"
#include "sync/internal_api/public/configure_reason.h"
@@ -72,12 +73,12 @@ struct SyncCredentials {
//
// Unless stated otherwise, all methods of SyncManager should be called on the
// same thread.
-class SyncManager {
+class SYNC_EXPORT SyncManager {
public:
// An interface the embedding application implements to be notified
// on change events. Note that these methods may be called on *any*
// thread.
- class ChangeDelegate {
+ class SYNC_EXPORT ChangeDelegate {
public:
// Notify the delegate that changes have been applied to the sync model.
//
@@ -163,7 +164,7 @@ class SyncManager {
// notifications from the SyncManager. Register an observer via
// SyncManager::AddObserver. All methods are called only on the
// sync thread.
- class Observer {
+ class SYNC_EXPORT Observer {
public:
// A round-trip sync-cycle took place and the syncer has resolved any
// conflicts that may have arisen.
diff --git a/sync/internal_api/public/sync_manager_factory.h b/sync/internal_api/public/sync_manager_factory.h
index 9f566c2..12fa52f 100644
--- a/sync/internal_api/public/sync_manager_factory.h
+++ b/sync/internal_api/public/sync_manager_factory.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -8,13 +8,14 @@
#include <string>
#include "base/memory/scoped_ptr.h"
+#include "sync/base/sync_export.h"
namespace syncer {
class SyncManager;
// Helper class to allow dependency injection of the SyncManager.
-class SyncManagerFactory {
+class SYNC_EXPORT SyncManagerFactory {
public:
SyncManagerFactory();
virtual ~SyncManagerFactory();
diff --git a/sync/internal_api/public/util/sync_string_conversions.h b/sync/internal_api/public/util/sync_string_conversions.h
index 1e83c73..0b33a7d 100644
--- a/sync/internal_api/public/util/sync_string_conversions.h
+++ b/sync/internal_api/public/util/sync_string_conversions.h
@@ -1,22 +1,23 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_INTERNAL_API_PUBLIC_UTIL_SYNC_STRING_CONVERSIONS_H_
#define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNC_STRING_CONVERSIONS_H_
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/sync_encryption_handler.h"
#include "sync/internal_api/public/sync_manager.h"
namespace syncer {
-const char* ConnectionStatusToString(ConnectionStatus status);
+SYNC_EXPORT const char* ConnectionStatusToString(ConnectionStatus status);
// Returns the string representation of a PassphraseRequiredReason value.
-const char* PassphraseRequiredReasonToString(
+SYNC_EXPORT const char* PassphraseRequiredReasonToString(
PassphraseRequiredReason reason);
-const char* PassphraseTypeToString(PassphraseType type);
+SYNC_EXPORT const char* PassphraseTypeToString(PassphraseType type);
const char* BootstrapTokenTypeToString(BootstrapTokenType type);
}
diff --git a/sync/internal_api/public/util/syncer_error.h b/sync/internal_api/public/util/syncer_error.h
index 4e70dc1..f3ee9ee 100644
--- a/sync/internal_api/public/util/syncer_error.h
+++ b/sync/internal_api/public/util/syncer_error.h
@@ -1,10 +1,12 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_
#define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_
+#include "sync/base/sync_export.h"
+
namespace syncer {
// This enum describes all the ways a SyncerCommand can fail.
@@ -41,7 +43,7 @@ enum SyncerError {
SYNCER_OK
};
-const char * GetSyncerErrorString(SyncerError);
+SYNC_EXPORT const char* GetSyncerErrorString(SyncerError);
// Helper to check that |error| is set to something (not UNSET) and is not
// SYNCER_OK.
diff --git a/sync/internal_api/public/util/weak_handle.h b/sync/internal_api/public/util/weak_handle.h
index 2e49910..bac7c37 100644
--- a/sync/internal_api/public/util/weak_handle.h
+++ b/sync/internal_api/public/util/weak_handle.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -125,7 +125,7 @@ class WeakHandleCoreBase {
// WeakHandleCore<T> contains all the logic for WeakHandle<T>.
template <typename T>
class WeakHandleCore
- : public WeakHandleCoreBase,
+ : public NON_EXPORTED_BASE(WeakHandleCoreBase),
public base::RefCountedThreadSafe<WeakHandleCore<T> > {
public:
// Must be called on |ptr|'s owner thread, which is assumed to be
diff --git a/sync/internal_api/public/write_node.h b/sync/internal_api/public/write_node.h
index b2299f6..3d843a0 100644
--- a/sync/internal_api/public/write_node.h
+++ b/sync/internal_api/public/write_node.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/internal_api/public/base_node.h"
@@ -39,7 +40,7 @@ class MutableEntry;
// WriteNode extends BaseNode to add mutation, and wraps
// syncable::MutableEntry. A WriteTransaction is needed to create a WriteNode.
-class WriteNode : public BaseNode {
+class SYNC_EXPORT WriteNode : public BaseNode {
public:
enum InitUniqueByCreationResult {
INIT_SUCCESS,
diff --git a/sync/internal_api/public/write_transaction.h b/sync/internal_api/public/write_transaction.h
index 8c11570..9008b4f 100644
--- a/sync/internal_api/public/write_transaction.h
+++ b/sync/internal_api/public/write_transaction.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -7,6 +7,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base_transaction.h"
namespace tracked_objects {
@@ -25,7 +26,7 @@ class WriteTransaction;
//
// NOTE: Only a single model type can be mutated for a given
// WriteTransaction.
-class WriteTransaction : public BaseTransaction {
+class SYNC_EXPORT WriteTransaction : public BaseTransaction {
public:
// Start a new read/write transaction.
WriteTransaction(const tracked_objects::Location& from_here,
diff --git a/sync/js/DEPS b/sync/js/DEPS
index 22a89b2..aae40c0 100644
--- a/sync/js/DEPS
+++ b/sync/js/DEPS
@@ -1,4 +1,5 @@
include_rules = [
+ "+sync/base",
"+sync/internal_api/public/util",
"+sync/util",
]
diff --git a/sync/js/js_arg_list.h b/sync/js/js_arg_list.h
index 0762c56..72793e9 100644
--- a/sync/js/js_arg_list.h
+++ b/sync/js/js_arg_list.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,13 +10,14 @@
#include <string>
#include "base/values.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/immutable.h"
namespace syncer {
// A thin wrapper around Immutable<ListValue>. Used for passing
// around argument lists to different threads.
-class JsArgList {
+class SYNC_EXPORT JsArgList {
public:
// Uses an empty argument list.
JsArgList();
diff --git a/sync/js/js_controller.h b/sync/js/js_controller.h
index c2a5475..08432bf 100644
--- a/sync/js/js_controller.h
+++ b/sync/js/js_controller.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,8 @@
#include <string>
+#include "sync/base/sync_export.h"
+
namespace syncer {
class JsArgList;
@@ -19,7 +21,7 @@ template <typename T> class WeakHandle;
// An interface for objects that JsEventHandlers directly interact
// with. JsEventHandlers can add themselves to receive events and
// also send messages which will eventually reach the backend.
-class JsController {
+class SYNC_EXPORT JsController {
public:
// Adds an event handler which will start receiving JS events (not
// immediately, so this can be called in the handler's constructor).
diff --git a/sync/js/js_event_details.h b/sync/js/js_event_details.h
index 512264b..9ca36db 100644
--- a/sync/js/js_event_details.h
+++ b/sync/js/js_event_details.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,13 +10,14 @@
#include <string>
#include "base/values.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/immutable.h"
namespace syncer {
// A thin wrapper around Immutable<DictionaryValue>. Used for passing
// around event details to different threads.
-class JsEventDetails {
+class SYNC_EXPORT JsEventDetails {
public:
// Uses an empty dictionary.
JsEventDetails();
diff --git a/sync/js/js_event_handler.h b/sync/js/js_event_handler.h
index 04eadca..2e2213ef 100644
--- a/sync/js/js_event_handler.h
+++ b/sync/js/js_event_handler.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,13 +9,15 @@
#include <string>
+#include "sync/base/sync_export.h"
+
namespace syncer {
class JsEventDetails;
// An interface for objects that handle Javascript events (e.g.,
// WebUIs).
-class JsEventHandler {
+class SYNC_EXPORT JsEventHandler {
public:
virtual void HandleJsEvent(
const std::string& name, const JsEventDetails& details) = 0;
diff --git a/sync/js/sync_js_controller.h b/sync/js/sync_js_controller.h
index b6f1707..0e259f8 100644
--- a/sync/js/sync_js_controller.h
+++ b/sync/js/sync_js_controller.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -12,6 +12,7 @@
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/weak_handle.h"
#include "sync/js/js_arg_list.h"
#include "sync/js/js_controller.h"
@@ -23,7 +24,7 @@ class JsBackend;
// A class that mediates between the sync JsEventHandlers and the sync
// JsBackend.
-class SyncJsController
+class SYNC_EXPORT SyncJsController
: public JsController, public JsEventHandler,
public base::SupportsWeakPtr<SyncJsController> {
public:
diff --git a/sync/notifier/DEPS b/sync/notifier/DEPS
index 202fdc9..e02d522 100644
--- a/sync/notifier/DEPS
+++ b/sync/notifier/DEPS
@@ -6,6 +6,7 @@ include_rules = [
"+net/url_request/url_request_context.h",
"+net/url_request/url_request_test_util.h",
+ "+sync/base",
"+sync/internal_api/public/base",
"+sync/internal_api/public/util",
"+sync/protocol/service_constants.h",
diff --git a/sync/notifier/invalidation_state_tracker.h b/sync/notifier/invalidation_state_tracker.h
index 2f26895..ba769e9 100644
--- a/sync/notifier/invalidation_state_tracker.h
+++ b/sync/notifier/invalidation_state_tracker.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
//
@@ -19,6 +19,7 @@
#include "base/callback_forward.h"
#include "base/memory/ref_counted.h"
#include "google/cacheinvalidation/include/types.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/invalidation.h"
#include "sync/notifier/invalidation_util.h"
@@ -28,7 +29,7 @@ class TaskRunner;
namespace syncer {
-struct InvalidationState {
+struct SYNC_EXPORT InvalidationState {
InvalidationState();
~InvalidationState();
diff --git a/sync/notifier/invalidation_util.h b/sync/notifier/invalidation_util.h
index 0a5c1c7..414e3fe 100644
--- a/sync/notifier/invalidation_util.h
+++ b/sync/notifier/invalidation_util.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
//
@@ -12,6 +12,7 @@
#include <string>
#include "base/memory/scoped_ptr.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace base {
@@ -30,15 +31,15 @@ void PrintTo(const invalidation::ObjectId& id, std::ostream* os);
namespace syncer {
-struct ObjectIdLessThan {
+struct SYNC_EXPORT ObjectIdLessThan {
bool operator()(const invalidation::ObjectId& lhs,
const invalidation::ObjectId& rhs) const;
};
typedef std::set<invalidation::ObjectId, ObjectIdLessThan> ObjectIdSet;
-bool RealModelTypeToObjectId(ModelType model_type,
- invalidation::ObjectId* object_id);
+SYNC_EXPORT bool RealModelTypeToObjectId(ModelType model_type,
+ invalidation::ObjectId* object_id);
bool ObjectIdToRealModelType(const invalidation::ObjectId& object_id,
ModelType* model_type);
@@ -52,7 +53,7 @@ bool ObjectIdFromValue(const base::DictionaryValue& value,
std::string ObjectIdToString(const invalidation::ObjectId& object_id);
-ObjectIdSet ModelTypeSetToObjectIdSet(ModelTypeSet models);
+SYNC_EXPORT_PRIVATE ObjectIdSet ModelTypeSetToObjectIdSet(ModelTypeSet models);
ModelTypeSet ObjectIdSetToModelTypeSet(const ObjectIdSet& ids);
std::string InvalidationToString(
diff --git a/sync/notifier/invalidator_factory.h b/sync/notifier/invalidator_factory.h
index 4a33c6b..f7bd3e0 100644
--- a/sync/notifier/invalidator_factory.h
+++ b/sync/notifier/invalidator_factory.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include "base/memory/weak_ptr.h"
#include "jingle/notifier/base/notifier_options.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/weak_handle.h"
#include "sync/notifier/invalidation_state_tracker.h"
@@ -18,7 +19,7 @@ class Invalidator;
// Class to instantiate various implementations of the Invalidator
// interface.
-class InvalidatorFactory {
+class SYNC_EXPORT InvalidatorFactory {
public:
// |client_info| is a string identifying the client, e.g. a user
// agent string. |invalidation_state_tracker| may be NULL (for
diff --git a/sync/notifier/invalidator_registrar.h b/sync/notifier/invalidator_registrar.h
index 6100973b..ce227db 100644
--- a/sync/notifier/invalidator_registrar.h
+++ b/sync/notifier/invalidator_registrar.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/observer_list.h"
#include "base/threading/thread_checker.h"
+#include "sync/base/sync_export.h"
#include "sync/notifier/invalidation_handler.h"
#include "sync/notifier/invalidation_util.h"
#include "sync/notifier/object_id_invalidation_map.h"
@@ -24,7 +25,7 @@ namespace syncer {
// keep track of registered handlers and which object ID registrations are
// associated with which handlers, so implementors can just reuse the logic
// here to dispatch invalidations and other interesting notifications.
-class InvalidatorRegistrar {
+class SYNC_EXPORT InvalidatorRegistrar {
public:
InvalidatorRegistrar();
diff --git a/sync/notifier/invalidator_state.h b/sync/notifier/invalidator_state.h
index f06da6f..80b607b 100644
--- a/sync/notifier/invalidator_state.h
+++ b/sync/notifier/invalidator_state.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -6,6 +6,7 @@
#define SYNC_NOTIFIER_INVALIDATOR_STATE_H_
#include "jingle/notifier/listener/push_client_observer.h"
+#include "sync/base/sync_export.h"
namespace syncer {
@@ -23,7 +24,7 @@ enum InvalidatorState {
INVALIDATIONS_ENABLED
};
-const char* InvalidatorStateToString(InvalidatorState state);
+SYNC_EXPORT const char* InvalidatorStateToString(InvalidatorState state);
InvalidatorState FromNotifierReason(
notifier::NotificationsDisabledReason reason);
diff --git a/sync/notifier/object_id_invalidation_map.h b/sync/notifier/object_id_invalidation_map.h
index 03569d8..4a7c017 100644
--- a/sync/notifier/object_id_invalidation_map.h
+++ b/sync/notifier/object_id_invalidation_map.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -10,6 +10,7 @@
#include "base/memory/scoped_ptr.h"
#include "google/cacheinvalidation/include/types.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/invalidation.h"
#include "sync/internal_api/public/base/model_type_invalidation_map.h"
#include "sync/notifier/invalidation_util.h"
@@ -27,7 +28,7 @@ typedef std::map<invalidation::ObjectId,
// Converts between ObjectIdInvalidationMaps and ObjectIdSets.
ObjectIdSet ObjectIdInvalidationMapToSet(
const ObjectIdInvalidationMap& invalidation_map);
-ObjectIdInvalidationMap ObjectIdSetToInvalidationMap(
+SYNC_EXPORT ObjectIdInvalidationMap ObjectIdSetToInvalidationMap(
const ObjectIdSet& ids, const std::string& payload);
bool ObjectIdInvalidationMapEquals(
@@ -43,8 +44,9 @@ bool ObjectIdInvalidationMapFromValue(const base::ListValue& value,
// Converts between ObjectIdInvalidationMaps and ModelTypeInvalidationMaps.
ModelTypeInvalidationMap ObjectIdInvalidationMapToModelTypeInvalidationMap(
const ObjectIdInvalidationMap& invalidation_map);
-ObjectIdInvalidationMap ModelTypeInvalidationMapToObjectIdInvalidationMap(
- const ModelTypeInvalidationMap& invalidation_map);
+SYNC_EXPORT ObjectIdInvalidationMap
+ ModelTypeInvalidationMapToObjectIdInvalidationMap(
+ const ModelTypeInvalidationMap& invalidation_map);
} // namespace syncer
diff --git a/sync/notifier/p2p_invalidator.h b/sync/notifier/p2p_invalidator.h
index bbcbcf5..9f3df2c 100644
--- a/sync/notifier/p2p_invalidator.h
+++ b/sync/notifier/p2p_invalidator.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
//
@@ -17,6 +17,7 @@
#include "base/observer_list.h"
#include "base/threading/thread_checker.h"
#include "jingle/notifier/listener/push_client_observer.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/notifier/invalidator.h"
#include "sync/notifier/invalidator_registrar.h"
@@ -29,7 +30,7 @@ class PushClient;
namespace syncer {
// The channel to use for sync notifications.
-extern const char kSyncP2PNotificationChannel[];
+SYNC_EXPORT_PRIVATE extern const char kSyncP2PNotificationChannel[];
// The intended recipient(s) of a P2P notification.
enum P2PNotificationTarget {
@@ -49,7 +50,7 @@ P2PNotificationTarget P2PNotificationTargetFromString(
// Helper notification data class that can be serialized to and
// deserialized from a string.
-class P2PNotificationData {
+class SYNC_EXPORT_PRIVATE P2PNotificationData {
public:
// Initializes with an empty sender ID, target set to NOTIFY_SELF,
// and empty changed types.
diff --git a/sync/protocol/DEPS b/sync/protocol/DEPS
index 00a61b9..f8f9de5 100644
--- a/sync/protocol/DEPS
+++ b/sync/protocol/DEPS
@@ -1,3 +1,4 @@
include_rules = [
+ "+sync/base",
"+sync/internal_api/public/base",
]
diff --git a/sync/protocol/proto_enum_conversions.h b/sync/protocol/proto_enum_conversions.h
index e3f9315..81b86f8 100644
--- a/sync/protocol/proto_enum_conversions.h
+++ b/sync/protocol/proto_enum_conversions.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -7,6 +7,7 @@
// Keep this file in sync with the .proto files in this directory.
+#include "sync/base/sync_export.h"
#include "sync/protocol/client_debug_info.pb.h"
#include "sync/protocol/session_specifics.pb.h"
#include "sync/protocol/sync.pb.h"
@@ -29,7 +30,7 @@ const char* GetPageTransitionRedirectTypeString(
sync_pb::SyncEnums::PageTransitionRedirectType
redirect_type);
-const char* GetUpdatesSourceString(
+SYNC_EXPORT const char* GetUpdatesSourceString(
sync_pb::GetUpdatesCallerInfo::GetUpdatesSource updates_source);
const char* GetResponseTypeString(
diff --git a/sync/protocol/proto_value_conversions.h b/sync/protocol/proto_value_conversions.h
index 4dded17..cbfd447 100644
--- a/sync/protocol/proto_value_conversions.h
+++ b/sync/protocol/proto_value_conversions.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -7,6 +7,8 @@
#ifndef SYNC_PROTOCOL_PROTO_VALUE_CONVERSIONS_H_
#define SYNC_PROTOCOL_PROTO_VALUE_CONVERSIONS_H_
+#include "sync/base/sync_export.h"
+
namespace base {
class DictionaryValue;
}
@@ -144,7 +146,7 @@ base::DictionaryValue* ExtensionSettingSpecificsToValue(
base::DictionaryValue* ExtensionSpecificsToValue(
const sync_pb::ExtensionSpecifics& extension_specifics);
-base::DictionaryValue* HistoryDeleteDirectiveSpecificsToValue(
+SYNC_EXPORT base::DictionaryValue* HistoryDeleteDirectiveSpecificsToValue(
const sync_pb::HistoryDeleteDirectiveSpecifics&
history_delete_directive_specifics);
diff --git a/sync/protocol/sync_protocol_error.h b/sync/protocol/sync_protocol_error.h
index f23659b..8339d03 100644
--- a/sync/protocol/sync_protocol_error.h
+++ b/sync/protocol/sync_protocol_error.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_PROTOCOL_SYNC_PROTOCOL_ERROR_H_
@@ -7,6 +7,7 @@
#include <string>
#include "base/values.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/base/model_type.h"
namespace syncer{
@@ -62,7 +63,7 @@ enum ClientAction {
UNKNOWN_ACTION
};
-struct SyncProtocolError {
+struct SYNC_EXPORT SyncProtocolError {
SyncProtocolErrorType error_type;
std::string error_description;
std::string url;
@@ -73,8 +74,8 @@ struct SyncProtocolError {
DictionaryValue* ToValue() const;
};
-const char* GetSyncErrorTypeString(SyncProtocolErrorType type);
-const char* GetClientActionString(ClientAction action);
+SYNC_EXPORT const char* GetSyncErrorTypeString(SyncProtocolErrorType type);
+SYNC_EXPORT const char* GetClientActionString(ClientAction action);
} // namespace syncer
#endif // SYNC_PROTOCOL_SYNC_PROTOCOL_ERROR_H_
diff --git a/sync/syncable/DEPS b/sync/syncable/DEPS
index 37279ad..0ea6610 100644
--- a/sync/syncable/DEPS
+++ b/sync/syncable/DEPS
@@ -1,6 +1,7 @@
include_rules = [
"+net/base/escape.h",
"+sql",
+ "+sync/base",
"+sync/internal_api/public/base",
"+sync/internal_api/public/engine",
"+sync/internal_api/public/util",
diff --git a/sync/syncable/directory.h b/sync/syncable/directory.h
index 4247530..2b0bd3c4 100644
--- a/sync/syncable/directory.h
+++ b/sync/syncable/directory.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -11,6 +11,7 @@
#include "base/file_util.h"
#include "base/gtest_prod_util.h"
+#include "sync/base/sync_export.h"
#include "sync/internal_api/public/util/report_unrecoverable_error_function.h"
#include "sync/internal_api/public/util/weak_handle.h"
#include "sync/syncable/dir_open_result.h"
@@ -128,7 +129,7 @@ enum InvariantCheckLevel {
FULL_DB_VERIFICATION = 2 // Check every entry. This can be expensive.
};
-class Directory {
+class SYNC_EXPORT Directory {
friend class BaseTransaction;
friend class Entry;
friend class MutableEntry;
diff --git a/sync/syncable/write_transaction.h b/sync/syncable/write_transaction.h
index 6a36963..875f6ec 100644
--- a/sync/syncable/write_transaction.h
+++ b/sync/syncable/write_transaction.h
@@ -1,17 +1,18 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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_SYNCABLE_WRITE_TRANSACTION_H_
#define SYNC_SYNCABLE_WRITE_TRANSACTION_H_
+#include "sync/base/sync_export.h"
#include "sync/syncable/base_transaction.h"
#include "sync/syncable/entry_kernel.h"
namespace syncer {
namespace syncable {
-extern const int64 kInvalidTransactionVersion;
+SYNC_EXPORT extern const int64 kInvalidTransactionVersion;
// Locks db in constructor, unlocks in destructor.
class WriteTransaction : public BaseTransaction {
diff --git a/sync/util/DEPS b/sync/util/DEPS
index 3bef302..13d7bf1 100644
--- a/sync/util/DEPS
+++ b/sync/util/DEPS
@@ -1,5 +1,6 @@
include_rules = [
"+crypto",
+ "+sync/base",
"+sync/internal_api/public/base",
"+sync/internal_api/public/util",
"+sync/protocol",
diff --git a/sync/util/cryptographer.h b/sync/util/cryptographer.h
index 1a3ee3a..384ba78 100644
--- a/sync/util/cryptographer.h
+++ b/sync/util/cryptographer.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -11,6 +11,7 @@
#include "base/gtest_prod_util.h"
#include "base/memory/linked_ptr.h"
#include "base/memory/scoped_ptr.h"
+#include "sync/base/sync_export.h"
#include "sync/protocol/encryption.pb.h"
#include "sync/util/nigori.h"
@@ -46,7 +47,7 @@ struct KeyParams {
// CanDecrypt should be used to verify whether the Cryptographer can decrypt
// that node. If it cannot, then the application of that update should be
// delayed until after it can be decrypted.
-class Cryptographer {
+class SYNC_EXPORT Cryptographer {
public:
// Does not take ownership of |encryptor|.
explicit Cryptographer(Encryptor* encryptor);
diff --git a/sync/util/extensions_activity_monitor.h b/sync/util/extensions_activity_monitor.h
index f333b7b..699f7b5 100644
--- a/sync/util/extensions_activity_monitor.h
+++ b/sync/util/extensions_activity_monitor.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include <string>
#include "base/basictypes.h"
+#include "sync/base/sync_export.h"
namespace syncer {
@@ -17,10 +18,10 @@ namespace syncer {
// acknowledged it (successful commit response).
//
// All abstract methods are called from the sync thread.
-class ExtensionsActivityMonitor {
+class SYNC_EXPORT ExtensionsActivityMonitor {
public:
// A data record of activity performed by extension |extension_id|.
- struct Record {
+ struct SYNC_EXPORT Record {
Record();
~Record();
diff --git a/sync/util/get_session_name.h b/sync/util/get_session_name.h
index 3b8dd5a..4a0600d 100644
--- a/sync/util/get_session_name.h
+++ b/sync/util/get_session_name.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -9,6 +9,7 @@
#include "base/callback_forward.h"
#include "base/memory/ref_counted.h"
+#include "sync/base/sync_export.h"
namespace base {
class TaskRunner;
@@ -16,7 +17,7 @@ class TaskRunner;
namespace syncer {
-void GetSessionName(
+SYNC_EXPORT void GetSessionName(
const scoped_refptr<base::TaskRunner>& task_runner,
const base::Callback<void(const std::string&)>& done_callback);
diff --git a/sync/util/nigori.h b/sync/util/nigori.h
index a33f0b6..cd67bf9 100644
--- a/sync/util/nigori.h
+++ b/sync/util/nigori.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
@@ -8,6 +8,7 @@
#include <string>
#include "base/memory/scoped_ptr.h"
+#include "sync/base/sync_export.h"
namespace crypto {
class SymmetricKey;
@@ -24,7 +25,7 @@ namespace syncer {
// and retrieve the secret.
//
// TODO: Link to doc.
-class Nigori {
+class SYNC_EXPORT Nigori {
public:
enum Type {
Password = 1,
diff --git a/sync/util/time.h b/sync/util/time.h
index 8ba72a3..2b0b245 100644
--- a/sync/util/time.h
+++ b/sync/util/time.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 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.
//
@@ -11,17 +11,18 @@
#include "base/basictypes.h"
#include "base/time.h"
+#include "sync/base/sync_export.h"
namespace syncer {
// Converts a time object to the format used in sync protobufs (ms
// since the Unix epoch).
-int64 TimeToProtoTime(const base::Time& t);
+SYNC_EXPORT int64 TimeToProtoTime(const base::Time& t);
// Converts a time field from sync protobufs to a time object.
base::Time ProtoTimeToTime(int64 proto_t);
-std::string GetTimeDebugString(const base::Time& t);
+SYNC_EXPORT std::string GetTimeDebugString(const base::Time& t);
} // namespace syncer