1 #pragma once
2
3 /*
4 * Copyright 2017, The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 #include <sys/types.h>
20
21 #include <ostream>
22
23 enum DebuggerdDumpType : uint8_t {
24 kDebuggerdNativeBacktrace,
25 kDebuggerdTombstone,
26 kDebuggerdJavaBacktrace,
27 kDebuggerdAnyIntercept,
28 kDebuggerdTombstoneProto,
29 };
30
get_dump_type_name(const DebuggerdDumpType & dump_type)31 inline const char* get_dump_type_name(const DebuggerdDumpType& dump_type) {
32 switch (dump_type) {
33 case kDebuggerdNativeBacktrace:
34 return "kDebuggerdNativeBacktrace";
35 case kDebuggerdTombstone:
36 return "kDebuggerdTombstone";
37 case kDebuggerdJavaBacktrace:
38 return "kDebuggerdJavaBacktrace";
39 case kDebuggerdAnyIntercept:
40 return "kDebuggerdAnyIntercept";
41 case kDebuggerdTombstoneProto:
42 return "kDebuggerdTombstoneProto";
43 default:
44 return "[unknown]";
45 }
46 }
47
48 inline std::ostream& operator<<(std::ostream& stream, const DebuggerdDumpType& rhs) {
49 stream << get_dump_type_name(rhs);
50 return stream;
51 }
52