haiku/headers/private/debugger/user_interface/util/UiUtils.h
Rene Gollent fce4895d18 Debugger: Split into core library and application.
- Add subfolder src/kits/debugger which contains the debugger's core
  functionality and lower layers. Correspondingly add headers/private/debugger
  for shared headers to be used by clients such as the Debugger application
  and eventual remote_debug_server. Adjust various files to account for
  differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.
2016-06-04 13:18:39 -04:00

88 lines
2.3 KiB
C++

/*
* Copyright 2014-2016, Rene Gollent, rene@gollent.com.
* Copyright 2012, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*/
#ifndef UI_UTILS_H
#define UI_UTILS_H
#include <size_t.h>
#include <image.h>
#include "Types.h"
class BString;
class BVariant;
class RangeList;
class StackFrame;
class Team;
class TeamMemoryBlock;
class ValueNodeChild;
enum {
SIMD_RENDER_FORMAT_INT8 = 0,
SIMD_RENDER_FORMAT_INT16,
SIMD_RENDER_FORMAT_INT32,
SIMD_RENDER_FORMAT_INT64,
SIMD_RENDER_FORMAT_FLOAT,
SIMD_RENDER_FORMAT_DOUBLE
};
class UiUtils {
public:
static const char* ThreadStateToString(int state,
int stoppedReason);
static const char* VariantToString(const BVariant& value,
char* buffer, size_t bufferSize);
static const char* FunctionNameForFrame(StackFrame* frame,
char* buffer, size_t bufferSize);
static const char* ImageTypeToString(image_type type,
char* buffer, size_t bufferSize);
static const char* AreaLockingFlagsToString(uint32 flags,
char* buffer, size_t bufferSize);
static const BString& AreaProtectionFlagsToString(uint32 protection,
BString& _output);
static const char* ReportNameForTeam(::Team* team,
char* buffer, size_t bufferSize);
static const char* CoreFileNameForTeam(::Team* team,
char* buffer, size_t bufferSize);
// this function assumes the value nodes have already been resolved
// (if possible).
static void PrintValueNodeGraph(BString& _output,
ValueNodeChild* child,
int32 indentLevel, int32 maxDepth);
static void DumpMemory(BString& _output,
int32 indentLevel,
TeamMemoryBlock* block,
target_addr_t address, int32 itemSize,
int32 displayWidth, int32 count);
static status_t ParseRangeExpression(
const BString& rangeString,
int32 lowerBound, int32 upperBound,
bool fixedRange,
RangeList& _output);
static const char* TypeCodeToString(type_code type);
static const BString& FormatSIMDValue(const BVariant& value,
uint32 bitSize, uint32 format,
BString& _output);
static const char* SignalNameToString(int32 signal,
BString& _output);
static const char* SignalDispositionToString(int disposition);
};
#endif // UI_UTILS_H