mercenary/mirc/includes/mirc.h
Correl Roush b2726144df Now supports aliases that return values.
git-svn-id: file:///srv/svn/ircclient/trunk@8 a9804ffe-773b-11dd-bd7c-89c3ef1d2733
2009-04-22 18:24:39 +00:00

48 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;
QMap<QString, mirc_alias> aliases;
QString _return_value;
QTextStream *output;
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