diff options
author | Jim Ingham <jingham@apple.com> | 2012-02-21 02:23:08 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-02-21 02:23:08 +0000 |
commit | 228063cd21c4e13aba0ef7a4522b1f32e3116c18 (patch) | |
tree | 73697c5ec27b8e8f282974db7db4f18de99b770b /lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp | |
parent | 926410d2db727c5093bda792cb8b2025d7f02cc3 (diff) | |
download | bcm5719-llvm-228063cd21c4e13aba0ef7a4522b1f32e3116c18.tar.gz bcm5719-llvm-228063cd21c4e13aba0ef7a4522b1f32e3116c18.zip |
Add a logging mode that takes a callback and flush'es to that callback.
Also add SB API's to set this callback, and to enable the log channels.
llvm-svn: 151018
Diffstat (limited to 'lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp index 6e230fb1917..ff3c46ece3f 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp @@ -43,20 +43,19 @@ ProcessKDPLog::GetLogIfAllCategoriesSet (uint32_t mask) } void -ProcessKDPLog::DisableLog (Args &args, Stream *feedback_strm) +ProcessKDPLog::DisableLog (const char **categories, Stream *feedback_strm) { LogSP log (GetLog ()); if (log) { uint32_t flag_bits = 0; - const size_t argc = args.GetArgumentCount (); - if (argc > 0) + if (categories[0] != NULL) { flag_bits = log->GetMask().Get(); - for (size_t i = 0; i < argc; ++i) + for (size_t i = 0; categories[i] != NULL; ++i) { - const char *arg = args.GetArgumentAtIndex (i); + const char *arg = categories[i]; if (::strcasecmp (arg, "all") == 0 ) flag_bits &= ~KDP_LOG_ALL; @@ -92,7 +91,7 @@ ProcessKDPLog::DisableLog (Args &args, Stream *feedback_strm) } LogSP -ProcessKDPLog::EnableLog (StreamSP &log_stream_sp, uint32_t log_options, Args &args, Stream *feedback_strm) +ProcessKDPLog::EnableLog (StreamSP &log_stream_sp, uint32_t log_options, const char **categories, Stream *feedback_strm) { // Try see if there already is a log - that way we can reuse its settings. // We could reuse the log in toto, but we don't know that the stream is the same. @@ -111,10 +110,9 @@ ProcessKDPLog::EnableLog (StreamSP &log_stream_sp, uint32_t log_options, Args &a if (log) { bool got_unknown_category = false; - const size_t argc = args.GetArgumentCount(); - for (size_t i=0; i<argc; ++i) + for (size_t i=0; categories[i] != NULL; ++i) { - const char *arg = args.GetArgumentAtIndex(i); + const char *arg = categories[i]; if (::strcasecmp (arg, "all") == 0 ) flag_bits |= KDP_LOG_ALL; else if (::strcasecmp (arg, "async") == 0 ) flag_bits |= KDP_LOG_ASYNC; |