Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / sync / internal_api / syncapi_internal.h
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 EntitySpecifics;
17 class PasswordSpecificsData;
18 }
19
20 namespace syncer {
21
22 class Cryptographer;
23
24 sync_pb::PasswordSpecificsData* DecryptPasswordSpecifics(
25     const sync_pb::EntitySpecifics& specifics,
26     Cryptographer* crypto);
27
28 SYNC_EXPORT void SyncAPINameToServerName(const std::string& syncer_name,
29                                          std::string* out);
30 SYNC_EXPORT void ServerNameToSyncAPIName(const std::string& server_name,
31                                          std::string* out);
32
33 bool IsNameServerIllegalAfterTrimming(const std::string& name);
34
35 bool AreSpecificsEqual(const Cryptographer* cryptographer,
36                        const sync_pb::EntitySpecifics& left,
37                        const sync_pb::EntitySpecifics& right);
38 }  // namespace syncer
39
40 #endif  // SYNC_INTERNAL_API_SYNCAPI_INTERNAL_H_