1 // Copyright 2015 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/trace_event/memory_dump_request_args.h" 6 7 #include "base/notreached.h" 8 9 namespace base { 10 namespace trace_event { 11 12 // static MemoryDumpTypeToString(const MemoryDumpType & dump_type)13const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type) { 14 switch (dump_type) { 15 case MemoryDumpType::kPeriodicInterval: 16 return "periodic_interval"; 17 case MemoryDumpType::kExplicitlyTriggered: 18 return "explicitly_triggered"; 19 case MemoryDumpType::kSummaryOnly: 20 return "summary_only"; 21 } 22 NOTREACHED(); 23 } 24 StringToMemoryDumpType(const std::string & str)25MemoryDumpType StringToMemoryDumpType(const std::string& str) { 26 if (str == "periodic_interval") { 27 return MemoryDumpType::kPeriodicInterval; 28 } 29 if (str == "explicitly_triggered") 30 return MemoryDumpType::kExplicitlyTriggered; 31 if (str == "summary_only") 32 return MemoryDumpType::kSummaryOnly; 33 NOTREACHED(); 34 } 35 MemoryDumpLevelOfDetailToString(const MemoryDumpLevelOfDetail & level_of_detail)36const char* MemoryDumpLevelOfDetailToString( 37 const MemoryDumpLevelOfDetail& level_of_detail) { 38 switch (level_of_detail) { 39 case MemoryDumpLevelOfDetail::kBackground: 40 return "background"; 41 case MemoryDumpLevelOfDetail::kLight: 42 return "light"; 43 case MemoryDumpLevelOfDetail::kDetailed: 44 return "detailed"; 45 } 46 NOTREACHED(); 47 } 48 StringToMemoryDumpLevelOfDetail(const std::string & str)49MemoryDumpLevelOfDetail StringToMemoryDumpLevelOfDetail( 50 const std::string& str) { 51 if (str == "background") 52 return MemoryDumpLevelOfDetail::kBackground; 53 if (str == "light") 54 return MemoryDumpLevelOfDetail::kLight; 55 if (str == "detailed") 56 return MemoryDumpLevelOfDetail::kDetailed; 57 NOTREACHED(); 58 } 59 60 } // namespace trace_event 61 } // namespace base 62