annotated_operation.h revision 6b9e38ef1180efe55e4a82bb18536d1b53fe493d
1// Copyright 2015 The Chromium OS 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 UPDATE_ENGINE_PAYLOAD_GENERATOR_ANNOTATED_OPERATION_H_ 6#define UPDATE_ENGINE_PAYLOAD_GENERATOR_ANNOTATED_OPERATION_H_ 7 8#include <ostream> // NOLINT(readability/streams) 9#include <string> 10 11#include <chromeos/secure_blob.h> 12#include "update_engine/update_metadata.pb.h" 13 14namespace chromeos_update_engine { 15 16struct AnnotatedOperation { 17 // The name given to the operation, for logging and debugging purposes only. 18 // This normally includes the path to the file and the chunk used, if any. 19 std::string name; 20 21 // The InstallOperation, as defined by the protobuf. 22 DeltaArchiveManifest_InstallOperation op; 23 24 // Writes |blob| to the end of |data_fd|, and updates |data_file_size| to 25 // match the new size of |data_fd|. It sets the data_offset and data_length 26 // in AnnotatedOperation to match the offset and size of |blob| in |data_fd|. 27 bool SetOperationBlob(chromeos::Blob* blob, int data_fd, 28 off_t* data_file_size); 29}; 30 31// For logging purposes. 32std::ostream& operator<<(std::ostream& os, const AnnotatedOperation& aop); 33 34std::string InstallOperationTypeName( 35 DeltaArchiveManifest_InstallOperation_Type op_type); 36 37} // namespace chromeos_update_engine 38 39#endif // UPDATE_ENGINE_PAYLOAD_GENERATOR_ANNOTATED_OPERATION_H_ 40