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