mercenary/mirc/includes/mirc.h
Correl Roush 0e773a5687 Crazed attempts at getting line number info.
git-svn-id: file:///srv/svn/ircclient/trunk@10 a9804ffe-773b-11dd-bd7c-89c3ef1d2733
2009-05-05 18:14:05 +00:00

51 lines
1.1 KiB
C++

#ifndef MIRC_H
#define MIRC_H
#include <QObject>
#include <QDebug>
#include <QString>
#include <QStringList>
#include <QMap>
#include <QVector>
#include <QTextStream>
#include "script.h"
#include "parser.h"
#define MIRC_VERSION "0.1"
class MIRCScript;
class MIRCScriptManager : public QObject {
Q_OBJECT
private:
QObject *parent;
QVector<MIRCScript*> scripts;
QMap<QString, QString> _variables;
QMap<QString,void (*)(QStringList)> internal_aliases;
QString _return_value;
QTextStream *output;
MIRCScript* current_script;
int line_offset;
public:
MIRCScriptManager(QObject *parent = 0);
bool load(QString filename);
/*
bool unload(QString filename);
*/
void call_alias(QString alias, QStringList arguments);
bool register_alias(QString alias, void (*fn)(QStringList));
bool hasVariable(QString variable);
QString variable(QString variable);
void variable(QString variable, QString value);
QMap<QString, QString> variables();
QString return_value();
public slots:
void return_value(QString value);
signals:
void unknown_alias(QString alias, QStringList arguments);
};
#endif