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_ 41