• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef SYNC_INTERNAL_API_SYNCAPI_INTERNAL_H_
6 #define SYNC_INTERNAL_API_SYNCAPI_INTERNAL_H_
7 
8 // The functions defined are shared among some of the classes that implement
9 // the internal sync API.  They are not to be used by clients of the API.
10 
11 #include <string>
12 
13 #include "sync/base/sync_export.h"
14 
15 namespace sync_pb {
16 class AttachmentMetadata;
17 class EntitySpecifics;
18 class PasswordSpecificsData;
19 }
20 
21 namespace syncer {
22 
23 class Cryptographer;
24 
25 sync_pb::PasswordSpecificsData* DecryptPasswordSpecifics(
26     const sync_pb::EntitySpecifics& specifics,
27     Cryptographer* crypto);
28 
29 SYNC_EXPORT void SyncAPINameToServerName(const std::string& syncer_name,
30                                          std::string* out);
31 SYNC_EXPORT void ServerNameToSyncAPIName(const std::string& server_name,
32                                          std::string* out);
33 
34 bool IsNameServerIllegalAfterTrimming(const std::string& name);
35 
36 bool AreSpecificsEqual(const Cryptographer* cryptographer,
37                        const sync_pb::EntitySpecifics& left,
38                        const sync_pb::EntitySpecifics& right);
39 
40 // Return true iff |left| and |right| are equal.
41 bool AreAttachmentMetadataEqual(const sync_pb::AttachmentMetadata& left,
42                                 const sync_pb::AttachmentMetadata& right);
43 
44 }  // namespace syncer
45 
46 #endif  // SYNC_INTERNAL_API_SYNCAPI_INTERNAL_H_
47