95 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
//===-- SBTraceOptions.cpp --------------------------------------*- C++ -*-===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#include "lldb/API/SBTraceOptions.h"
 | 
						|
#include "lldb/API/SBError.h"
 | 
						|
#include "lldb/API/SBStructuredData.h"
 | 
						|
#include "lldb/Core/StructuredDataImpl.h"
 | 
						|
#include "lldb/Utility/Log.h"
 | 
						|
#include "lldb/Utility/TraceOptions.h"
 | 
						|
 | 
						|
using namespace lldb;
 | 
						|
using namespace lldb_private;
 | 
						|
 | 
						|
SBTraceOptions::SBTraceOptions() {
 | 
						|
  m_traceoptions_sp.reset(new TraceOptions());
 | 
						|
}
 | 
						|
 | 
						|
lldb::TraceType SBTraceOptions::getType() const {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    return m_traceoptions_sp->getType();
 | 
						|
  return lldb::TraceType::eTraceTypeNone;
 | 
						|
}
 | 
						|
 | 
						|
uint64_t SBTraceOptions::getTraceBufferSize() const {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    return m_traceoptions_sp->getTraceBufferSize();
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
lldb::SBStructuredData SBTraceOptions::getTraceParams(lldb::SBError &error) {
 | 
						|
  error.Clear();
 | 
						|
  const lldb_private::StructuredData::DictionarySP dict_obj =
 | 
						|
      m_traceoptions_sp->getTraceParams();
 | 
						|
  lldb::SBStructuredData structData;
 | 
						|
  if (dict_obj && structData.m_impl_up)
 | 
						|
    structData.m_impl_up->SetObjectSP(dict_obj->shared_from_this());
 | 
						|
  else
 | 
						|
    error.SetErrorString("Empty trace params");
 | 
						|
  return structData;
 | 
						|
}
 | 
						|
 | 
						|
uint64_t SBTraceOptions::getMetaDataBufferSize() const {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    return m_traceoptions_sp->getTraceBufferSize();
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
void SBTraceOptions::setTraceParams(lldb::SBStructuredData ¶ms) {
 | 
						|
  if (m_traceoptions_sp && params.m_impl_up) {
 | 
						|
    StructuredData::ObjectSP obj_sp = params.m_impl_up->GetObjectSP();
 | 
						|
    if (obj_sp && obj_sp->GetAsDictionary() != nullptr)
 | 
						|
      m_traceoptions_sp->setTraceParams(
 | 
						|
          std::static_pointer_cast<StructuredData::Dictionary>(obj_sp));
 | 
						|
  }
 | 
						|
  return;
 | 
						|
}
 | 
						|
 | 
						|
void SBTraceOptions::setType(lldb::TraceType type) {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    m_traceoptions_sp->setType(type);
 | 
						|
}
 | 
						|
 | 
						|
void SBTraceOptions::setTraceBufferSize(uint64_t size) {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    m_traceoptions_sp->setTraceBufferSize(size);
 | 
						|
}
 | 
						|
 | 
						|
void SBTraceOptions::setMetaDataBufferSize(uint64_t size) {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    m_traceoptions_sp->setMetaDataBufferSize(size);
 | 
						|
}
 | 
						|
 | 
						|
bool SBTraceOptions::IsValid() {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    return true;
 | 
						|
  return false;
 | 
						|
}
 | 
						|
 | 
						|
void SBTraceOptions::setThreadID(lldb::tid_t thread_id) {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    m_traceoptions_sp->setThreadID(thread_id);
 | 
						|
}
 | 
						|
 | 
						|
lldb::tid_t SBTraceOptions::getThreadID() {
 | 
						|
  if (m_traceoptions_sp)
 | 
						|
    return m_traceoptions_sp->getThreadID();
 | 
						|
  return LLDB_INVALID_THREAD_ID;
 | 
						|
}
 |