1#ifndef _KVI_KVS_SCRIPT_H_
2#define _KVI_KVS_SCRIPT_H_
120 KviKvsScript(
const QString & szName,
const QString &
szBuffer, ScriptType eType = InstructionList);
146 const QString &
name()
const;
152 const QString &
code()
const;
167 void setName(
const QString & szName);
263 void dump(
const char * prefix);
304 const QChar *
buffer()
const;
Parser class to handle variant variables lists.
Handling of variant data type in KVS.
C++ Template based double linked pointer list class.
Helper functions for the QString class.
Contains the KviWindow class.
Definition KviHeapObject.h:119
Definition KviKvsRunTimeContext.h:44
Definition KviKvsReport.h:34
Definition KviKvsRunTimeContext.h:104
Holds the data of the script.
Definition KviKvsScript.h:318
unsigned int m_uLock
Definition KviKvsScript.h:331
KviKvsScript::ScriptType m_eType
Definition KviKvsScript.h:328
friend class KviKvsScript
Definition KviKvsScript.h:319
QString m_szBuffer
Definition KviKvsScript.h:325
QString m_szName
Definition KviKvsScript.h:324
unsigned int m_uRefs
Definition KviKvsScript.h:322
KviKvsTreeNodeInstruction * m_pTree
Definition KviKvsScript.h:330
const QChar * m_pBuffer
Definition KviKvsScript.h:326
The KVIrc Script class.
Definition KviKvsScript.h:60
const QString & name() const
Returns the name of the script context.
Definition KviKvsScript.cpp:98
RunStatus
Holds the run status of the script.
Definition KviKvsScript.h:71
@ HaltEncountered
Definition KviKvsScript.h:74
@ Error
Definition KviKvsScript.h:72
@ Success
Definition KviKvsScript.h:73
const QChar * buffer() const
Returns the data of the script.
Definition KviKvsScript.cpp:141
int execute(KviWindow *pWnd, KviKvsVariantList *pParams=nullptr, KviKvsVariant *pRetVal=nullptr, int iRunFlags=0, KviKvsExtendedRunTimeData *pExtData=nullptr)
Runs the script.
Definition KviKvsScript.cpp:320
friend class KviKvsRunTimeContext
Definition KviKvsScript.h:63
const QString & code() const
Returns the code of the script.
Definition KviKvsScript.cpp:103
KviKvsScriptData * m_pData
Definition KviKvsScript.h:139
void detach()
Detaches this script from any other shallow copies.
Definition KviKvsScript.cpp:121
bool locked() const
Returns true if the script is locked, false otherwise.
Definition KviKvsScript.cpp:108
int run(KviWindow *pWnd, KviKvsVariantList *pParams=nullptr, KviKvsVariant *pRetVal=nullptr, int iRunFlags=0, KviKvsExtendedRunTimeData *pExtData=nullptr)
Runs the script.
Definition KviKvsScript.cpp:181
friend class KviKvsParser
Definition KviKvsScript.h:62
RunFlags
Holds the run flags of the script.
Definition KviKvsScript.h:93
@ AssumeLocals
Definition KviKvsScript.h:96
@ Quiet
Definition KviKvsScript.h:99
@ PreserveParams
Definition KviKvsScript.h:94
@ Pedantic
Definition KviKvsScript.h:98
int executeInternal(KviKvsRunTimeContext *pContext)
Runs the script.
Definition KviKvsScript.cpp:295
static int evaluateAsString(const QString &szCode, KviWindow *pWindow, KviKvsVariantList *pParams, QString &szRetVal)
Static helper for quick evaluating parameters.
Definition KviKvsScript.cpp:160
void dump(const char *prefix)
Dumps the instructions tree.
Definition KviKvsScript.cpp:113
void setName(const QString &szName)
Sets the name of the script context.
Definition KviKvsScript.cpp:91
KviKvsScript(const KviKvsScript &src)
Constructs a KVIrc Script object.
Definition KviKvsScript.cpp:69
bool parse(KviWindow *pOutput=nullptr, int iRunFlags=0)
Returns true after a successful parsing, false otherwise.
Definition KviKvsScript.cpp:240
friend class KviKvsObject
Definition KviKvsScript.h:61
static int evaluate(const QString &szCode, KviWindow *pWindow, KviKvsVariantList *pParams, KviKvsVariant *pRetVal)
Static helper for quick evaluating parameters.
Definition KviKvsScript.cpp:153
ScriptType
Holds the type of the script.
Definition KviKvsScript.h:82
@ InstructionList
Definition KviKvsScript.h:83
@ Parameter
Definition KviKvsScript.h:85
@ Expression
Definition KviKvsScript.h:84
Treenode class to handle instructions.
Definition KviKvsTreeNodeInstruction.h:43
Class to handle variant variables lists.
Definition KviKvsVariantList.h:42
This class defines a new data type which contains variant data.
Definition KviKvsVariant.h:352
Base class for all windows in KVIrc.
Definition KviWindow.h:75
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
char szBuffer[4096]
Definition winamp.cpp:77