43 lines
966 B
C++
43 lines
966 B
C++
/* -----------------------------------------------------------------------------
|
|
GSFramework
|
|
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
|
----------------------------------------------------------------------------- */
|
|
|
|
|
|
#ifndef __NMSVIEW_VMHOOK__
|
|
#define __NMSVIEW_VMHOOK__
|
|
|
|
|
|
#include "script/script_vm.h"
|
|
|
|
|
|
namespace GS {
|
|
class ViewerBase;
|
|
|
|
namespace Script {
|
|
|
|
//
|
|
class ViewerEventHookTable : public IVM::IDebug
|
|
{
|
|
ViewerBase *viewer;
|
|
|
|
public:
|
|
|
|
/// Handle a runtime debug step.
|
|
virtual void OnStep(char type, const char *source, int line, const char *funcname);
|
|
/// Handle a VM kill event.
|
|
virtual void Kill(const char *reason);
|
|
/// Handle a compiler error.
|
|
virtual void OnCompilerError(const char *error, const char *source, int line);
|
|
/// Handle a runtime error.
|
|
virtual void OnRuntimeException(const char *error);
|
|
|
|
ViewerEventHookTable(ViewerBase *v) : viewer(v) {}
|
|
};
|
|
|
|
} // Script
|
|
} // GS
|
|
|
|
|
|
#endif // __NMSVIEW_VMHOOK__
|