ExtensionContext Class
Header: | #include <ExtensionContext> |
Public Types
class | CdbVersion |
enum | CallFlags { CallWithExceptionsHandled, CallWithExceptionsNotHandled } |
typedef | StopReasonMap |
Public Functions
~ExtensionContext() | |
bool | call(const std::string &functionCall, unsigned callFlags, std::wstring *output, std::string *errorMessage) |
CdbVersion | cdbVersion() |
void | discardSymbolGroup() |
void | discardWatchesSymbolGroup() |
ULONG | executionStatus() const |
void | hookCallbacks(CIDebugClient *client) |
CIDebugClient * | hookedClient() const |
HRESULT | initialize(PULONG Version, PULONG Flags) |
ULONG64 | jsExecutionEngine(ExtensionCommandContext &exc, std::string *errorMessage) |
void | notifyIdleCommand(CIDebugClient *client) |
void | notifyState(ULONG Notify) |
const Parameters & | parameters() const |
Parameters & | parameters() |
bool | report(char code, int remainingChunks, int token, const char *serviceName, PCSTR Format, ...) |
bool | reportLong(char code, int token, const char *serviceName, const std::string &message) |
void | setStateNotification(bool s) |
void | setStopReason(const StopReasonMap &, const std::string &reason = std::string()) |
void | startRecordingOutput() |
bool | stateNotification() const |
std::wstring | stopRecordingOutput() |
LocalsSymbolGroup * | symbolGroup(CIDebugSymbols *symbols, ULONG threadId, int frame, std::string *errorMessage) |
int | symbolGroupFrame() const |
void | unhookCallbacks() |
WatchesSymbolGroup * | watchesSymbolGroup(CIDebugSymbols *symbols, std::string *errorMessage) |
WatchesSymbolGroup * | watchesSymbolGroup() const |
Static Public Members
ExtensionContext & | instance() |
Detailed Description
Global singleton with context. Caches a symbolgroup per frame and thread as long as the session is accessible.
Member Function Documentation
ExtensionContext::~ExtensionContext()
Destroys the instance of ExtensionContext.
bool ExtensionContext::call(const std::string &functionCall, unsigned callFlags, std::wstring *output, std::string *errorMessage)
CdbVersion ExtensionContext::cdbVersion()
void ExtensionContext::discardSymbolGroup()
void ExtensionContext::discardWatchesSymbolGroup()
ULONG ExtensionContext::executionStatus() const
void ExtensionContext::hookCallbacks(CIDebugClient *client)
CIDebugClient *ExtensionContext::hookedClient() const
HRESULT ExtensionContext::initialize(PULONG Version, PULONG Flags)
[static]
ExtensionContext &ExtensionContext::instance()
ULONG64 ExtensionContext::jsExecutionEngine(ExtensionCommandContext &exc, std::string *errorMessage)
void ExtensionContext::notifyIdleCommand(CIDebugClient *client)
void ExtensionContext::notifyState(ULONG Notify)
const Parameters &ExtensionContext::parameters() const
Parameters &ExtensionContext::parameters()
bool ExtensionContext::report(char code, int remainingChunks, int token, const char *serviceName, PCSTR Format, ...)
bool ExtensionContext::reportLong(char code, int token, const char *serviceName, const std::string &message)
void ExtensionContext::setStateNotification(bool s)
See also stateNotification().
void ExtensionContext::setStopReason(const StopReasonMap &, const std::string &reason = std::string())
void ExtensionContext::startRecordingOutput()
bool ExtensionContext::stateNotification() const
See also setStateNotification().