commandscheduler.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef COMMANDSCHEDULER_H
00025
#define COMMANDSCHEDULER_H
00026
00027
#include <qobject.h>
00028
#include <qptrlist.h>
00029
00030
#include "atcommand.h"
00031
#include "commandset.h"
00032
00033
class Modem;
00034
00035
class CommandScheduler :
public QObject {
00036 Q_OBJECT
00037
public:
00038 CommandScheduler (Modem *modem,QObject *parent = 0,
const char *name = 0);
00039
00040
void execute(
const QString &command);
00041
void execute(
ATCommand *command);
00042
void executeId(
const QString &
id);
00043
00044 Modem *modem() {
return mModem; }
00045
CommandSet *commandSet() {
return &mCommandSet; }
00046
00047
bool loadProfile(
const QString& filename);
00048
bool saveProfile(
const QString& filename);
00049
00050 signals:
00051
void result(
const QString &);
00052
void commandProcessed(
ATCommand *);
00053
00054
private slots:
00055
void processOutput(
const char *line);
00056
00057
private:
00058
void sendCommand(
const QString &command);
00059
void nextCommand();
00060
00061
private:
00062 Modem *mModem;
00063
00064
CommandSet mCommandSet;
00065
00066
ATCommand *mLastCommand;
00067
00068 QPtrList<ATCommand> mCommandQueue;
00069
00070
enum State { WAITING, PROCESSING };
00071 State mState;
00072
00073 QString mResult;
00074 };
00075
00076
#endif
This file is part of the documentation for kandy Library Version 3.2.2.