/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
syntax = "proto3";

option java_package = "com.android.tradefed.result.proto";
option java_outer_classname = "LogFileProto";

// Represents a single log file
message LogFileInfo {
  // The local path of the log file
  string path = 1;
  // The remote path of the log file once logged
  string url = 2;
  // The type of the log file (For example: Logcat, screenshot)
  string log_type = 3;
  // Whether the file is a text file
  bool is_text = 4;
  // whether the file is compressed or not
  bool is_compressed = 5;
  // Size of the file in bytes
  int64 size = 6;
  // The actual mime content type of the file
  string content_type = 7;
}
