diff options
Diffstat (limited to 'Src/Wasabi/api/script/debugger/sourcecodeline.h')
-rw-r--r-- | Src/Wasabi/api/script/debugger/sourcecodeline.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/Src/Wasabi/api/script/debugger/sourcecodeline.h b/Src/Wasabi/api/script/debugger/sourcecodeline.h new file mode 100644 index 00000000..a3a341ac --- /dev/null +++ b/Src/Wasabi/api/script/debugger/sourcecodeline.h @@ -0,0 +1,100 @@ +#ifndef __SOURCECODELINE_H +#define __SOURCECODELINE_H + +#include <bfc/dispatch.h> +#include <bfc/string/StringW.h> + + +class SourceCodeLine : public Dispatchable { + public: + const wchar_t *getLine(); + void setLine(const wchar_t *line); + int getPointer(); + void setPointer(int pointer); + int getLength(); + void setLength(int length); + void setSourceFile(const wchar_t *file); + const wchar_t *getSourceFile(); + void setSourceFileLine(int linenumber); + int getSourceFileLine(); + + enum { + SOURCECODELINE_GETLINE = 0, + SOURCECODELINE_SETLINE = 10, + SOURCECODELINE_GETPOINTER = 20, + SOURCECODELINE_SETPOINTER = 30, + SOURCECODELINE_GETLENGTH = 40, + SOURCECODELINE_SETLENGTH = 50, + SOURCECODELINE_SETSOURCEFILE = 60, + SOURCECODELINE_GETSOURCEFILE = 70, + SOURCECODELINE_SETSOURCEFILELINE = 80, + SOURCECODELINE_GETSOURCEFILELINE = 90, + }; +}; + +inline const wchar_t *SourceCodeLine::getLine() { + return _call(SOURCECODELINE_GETLINE, (const wchar_t*)NULL); +} + +inline void SourceCodeLine::setLine(const wchar_t *line) { + _voidcall(SOURCECODELINE_SETLINE, line); +} + +inline int SourceCodeLine::getPointer() { + return _call(SOURCECODELINE_GETPOINTER, (int)0); +} + +inline void SourceCodeLine::setPointer(int pointer) { + _voidcall(SOURCECODELINE_SETPOINTER, pointer); +} + +inline int SourceCodeLine::getLength() { + return _call(SOURCECODELINE_GETLENGTH, (int)0); +} + +inline void SourceCodeLine::setLength(int length) { + _voidcall(SOURCECODELINE_SETLENGTH, length); +} + +inline void SourceCodeLine::setSourceFile(const wchar_t *file) { + _voidcall(SOURCECODELINE_SETSOURCEFILE, file); +} + +inline const wchar_t *SourceCodeLine::getSourceFile() { + return _call(SOURCECODELINE_GETSOURCEFILE, (const wchar_t *)0); +} + +inline void SourceCodeLine::setSourceFileLine(int linenumber) { + _voidcall(SOURCECODELINE_SETSOURCEFILELINE, linenumber); +} + +inline int SourceCodeLine::getSourceFileLine() { + return _call(SOURCECODELINE_GETSOURCEFILELINE, (int)0); +} + +class SourceCodeLineI : public SourceCodeLine { + public: + SourceCodeLineI(); + virtual ~SourceCodeLineI(); + virtual const wchar_t *getLine(); + virtual void setLine(const wchar_t *line); + virtual int getPointer(); + virtual void setPointer(int pointer); + virtual int getLength(); + virtual void setLength(int length); + virtual void setSourceFile(const wchar_t *file); + virtual const wchar_t *getSourceFile(); + virtual void setSourceFileLine(int linenumber); + virtual int getSourceFileLine(); + + protected: + RECVS_DISPATCH; + + StringW line; + StringW file; + int fileline; + int pointer; + int length; +}; + +#endif
\ No newline at end of file |