• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /*******************************************************************************
18  * AUTOGENERATED - DO NOT EDIT
19  *******************************************************************************
20  * This file has been generated from the protobuf message
21  * perfetto/config/android/android_log_config.proto
22  * by
23  * ../../tools/proto_to_cpp/proto_to_cpp.cc.
24  * If you need to make changes here, change the .proto file and then run
25  * ./tools/gen_tracing_cpp_headers_from_protos
26  */
27 
28 #ifndef INCLUDE_PERFETTO_TRACING_CORE_ANDROID_LOG_CONFIG_H_
29 #define INCLUDE_PERFETTO_TRACING_CORE_ANDROID_LOG_CONFIG_H_
30 
31 #include <stdint.h>
32 #include <string>
33 #include <type_traits>
34 #include <vector>
35 
36 #include "perfetto/base/export.h"
37 
38 #include "perfetto/tracing/core/android_log_constants.h"
39 
40 // Forward declarations for protobuf types.
41 namespace perfetto {
42 namespace protos {
43 class AndroidLogConfig;
44 }
45 }  // namespace perfetto
46 
47 namespace perfetto {
48 
49 class PERFETTO_EXPORT AndroidLogConfig {
50  public:
51   enum AndroidLogId {
52     LID_DEFAULT = 0,
53     LID_RADIO = 1,
54     LID_EVENTS = 2,
55     LID_SYSTEM = 3,
56     LID_CRASH = 4,
57     LID_STATS = 5,
58     LID_SECURITY = 6,
59     LID_KERNEL = 7,
60   };
61   enum AndroidLogPriority {
62     PRIO_UNSPECIFIED = 0,
63     PRIO_UNUSED = 1,
64     PRIO_VERBOSE = 2,
65     PRIO_DEBUG = 3,
66     PRIO_INFO = 4,
67     PRIO_WARN = 5,
68     PRIO_ERROR = 6,
69     PRIO_FATAL = 7,
70   };
71   AndroidLogConfig();
72   ~AndroidLogConfig();
73   AndroidLogConfig(AndroidLogConfig&&) noexcept;
74   AndroidLogConfig& operator=(AndroidLogConfig&&);
75   AndroidLogConfig(const AndroidLogConfig&);
76   AndroidLogConfig& operator=(const AndroidLogConfig&);
77   bool operator==(const AndroidLogConfig&) const;
78   bool operator!=(const AndroidLogConfig& other) const {
79     return !(*this == other);
80   }
81 
82   // Conversion methods from/to the corresponding protobuf types.
83   void FromProto(const perfetto::protos::AndroidLogConfig&);
84   void ToProto(perfetto::protos::AndroidLogConfig*) const;
85 
log_ids_size()86   int log_ids_size() const { return static_cast<int>(log_ids_.size()); }
log_ids()87   const std::vector<AndroidLogId>& log_ids() const { return log_ids_; }
mutable_log_ids()88   std::vector<AndroidLogId>* mutable_log_ids() { return &log_ids_; }
clear_log_ids()89   void clear_log_ids() { log_ids_.clear(); }
add_log_ids()90   AndroidLogId* add_log_ids() {
91     log_ids_.emplace_back();
92     return &log_ids_.back();
93   }
94 
min_prio()95   AndroidLogPriority min_prio() const { return min_prio_; }
set_min_prio(AndroidLogPriority value)96   void set_min_prio(AndroidLogPriority value) { min_prio_ = value; }
97 
filter_tags_size()98   int filter_tags_size() const { return static_cast<int>(filter_tags_.size()); }
filter_tags()99   const std::vector<std::string>& filter_tags() const { return filter_tags_; }
mutable_filter_tags()100   std::vector<std::string>* mutable_filter_tags() { return &filter_tags_; }
clear_filter_tags()101   void clear_filter_tags() { filter_tags_.clear(); }
add_filter_tags()102   std::string* add_filter_tags() {
103     filter_tags_.emplace_back();
104     return &filter_tags_.back();
105   }
106 
107  private:
108   std::vector<AndroidLogId> log_ids_;
109   AndroidLogPriority min_prio_ = {};
110   std::vector<std::string> filter_tags_;
111 
112   // Allows to preserve unknown protobuf fields for compatibility
113   // with future versions of .proto files.
114   std::string unknown_fields_;
115 };
116 
117 }  // namespace perfetto
118 
119 #endif  // INCLUDE_PERFETTO_TRACING_CORE_ANDROID_LOG_CONFIG_H_
120