OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/sync/engine_impl/loopback_server/loopback_server.h" | 5 #include "components/sync/engine_impl/loopback_server/loopback_server.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <limits> | 10 #include <limits> |
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
516 | 516 |
517 return true; | 517 return true; |
518 } | 518 } |
519 | 519 |
520 // Saves all entities and server state to a protobuf file in |filename|. | 520 // Saves all entities and server state to a protobuf file in |filename|. |
521 bool LoopbackServer::SaveStateToFile(const base::FilePath& filename) const { | 521 bool LoopbackServer::SaveStateToFile(const base::FilePath& filename) const { |
522 sync_pb::LoopbackServerProto proto; | 522 sync_pb::LoopbackServerProto proto; |
523 SerializeState(&proto); | 523 SerializeState(&proto); |
524 | 524 |
525 std::string serialized = proto.SerializeAsString(); | 525 std::string serialized = proto.SerializeAsString(); |
526 CHECK(base::CreateDirectory(filename.DirName())); | |
pavely
2016/10/27 23:53:39
Failure to create directory is the same as failure
pastarmovj
2016/11/02 13:39:25
Agree and it should not crash for this reason imho
| |
526 int result = base::WriteFile(filename, serialized.data(), serialized.size()); | 527 int result = base::WriteFile(filename, serialized.data(), serialized.size()); |
527 return result == static_cast<int>(serialized.size()); | 528 return result == static_cast<int>(serialized.size()); |
528 } | 529 } |
529 | 530 |
530 // Loads all entities and server state from a protobuf file in |filename|. | 531 // Loads all entities and server state from a protobuf file in |filename|. |
531 bool LoopbackServer::LoadStateFromFile(const base::FilePath& filename) { | 532 bool LoopbackServer::LoadStateFromFile(const base::FilePath& filename) { |
532 if (base::PathExists(filename)) { | 533 if (base::PathExists(filename)) { |
533 std::string serialized; | 534 std::string serialized; |
534 if (base::ReadFileToString(filename, &serialized)) { | 535 if (base::ReadFileToString(filename, &serialized)) { |
535 sync_pb::LoopbackServerProto proto; | 536 sync_pb::LoopbackServerProto proto; |
(...skipping 11 matching lines...) Expand all Loading... | |
547 // write. | 548 // write. |
548 LOG(ERROR) << "Loopback sync can not read the persistent state file."; | 549 LOG(ERROR) << "Loopback sync can not read the persistent state file."; |
549 return false; | 550 return false; |
550 } | 551 } |
551 } | 552 } |
552 LOG(WARNING) << "Loopback sync persistent state file does not exist."; | 553 LOG(WARNING) << "Loopback sync persistent state file does not exist."; |
553 return false; | 554 return false; |
554 } | 555 } |
555 | 556 |
556 } // namespace syncer | 557 } // namespace syncer |
OLD | NEW |