60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
//===-- LogMessageOsLog.h ---------------------------------------*- C++ -*-===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#ifndef LogMessageOsLog_h
 | 
						|
#define LogMessageOsLog_h
 | 
						|
 | 
						|
#include "DarwinLogInterfaces.h"
 | 
						|
 | 
						|
#include "ActivityStreamSPI.h"
 | 
						|
#include "LogMessage.h"
 | 
						|
 | 
						|
using ActivityStreamEntry = struct os_activity_stream_entry_s;
 | 
						|
 | 
						|
// -----------------------------------------------------------------------------
 | 
						|
/// Provides a unified wrapper around os_log()-style log messages.
 | 
						|
///
 | 
						|
/// The lifetime of this class is intended to be very short.  The caller
 | 
						|
/// must ensure that the passed in ActivityStore and ActivityStreamEntry
 | 
						|
/// outlive this LogMessageOsLog entry.
 | 
						|
// -----------------------------------------------------------------------------
 | 
						|
 | 
						|
class LogMessageOsLog : public LogMessage {
 | 
						|
public:
 | 
						|
  static void SetFormatterFunction(os_log_copy_formatted_message_t format_func);
 | 
						|
 | 
						|
  LogMessageOsLog(const ActivityStore &activity_store,
 | 
						|
                  ActivityStreamEntry &entry);
 | 
						|
 | 
						|
  // API methods
 | 
						|
 | 
						|
  bool HasActivity() const override;
 | 
						|
 | 
						|
  const char *GetActivity() const override;
 | 
						|
 | 
						|
  std::string GetActivityChain() const override;
 | 
						|
 | 
						|
  bool HasCategory() const override;
 | 
						|
 | 
						|
  const char *GetCategory() const override;
 | 
						|
 | 
						|
  bool HasSubsystem() const override;
 | 
						|
 | 
						|
  const char *GetSubsystem() const override;
 | 
						|
 | 
						|
  const char *GetMessage() const override;
 | 
						|
 | 
						|
private:
 | 
						|
  const ActivityStore &m_activity_store;
 | 
						|
  ActivityStreamEntry &m_entry;
 | 
						|
  mutable std::string m_message;
 | 
						|
};
 | 
						|
 | 
						|
#endif /* LogMessageOsLog_h */
 |