⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recvsms.h

📁 QT是目前Linux上最知名的窗口环境系统
💻 H
字号:
#ifndef RECVSMS_H#define RECVSMS_H#include <qobject.h>#include <qstring.h>#include <qdir.h>#include <qfile.h>#include <qtextstream.h>#include <qthread.h>#include <qwaitcondition.h>#include <qmutex.h>#include <qevent.h>#include <qapplication.h>#include "classes.h"#include <iostream>#include <gsmlib/gsm_at.h>#include <gsmlib/gsm_me_ta.h>#include <gsmlib/gsm_event.h>#include <gsmlib/gsm_unix_serial.h>#include <unistd.h>#include <stdio.h>#include <errno.h>#include <stdlib.h>#include <dirent.h>#include <signal.h>#include <fstream>using namespace std;using namespace gsmlib;struct IncomingMessage{	// used if new message is put into store	int _index;                   	// -1 means message want send directly	string _storeName;	// used if SMS message was sent directly to TA	SMSMessageRef _newSMSMessage;	// used if CB message was sent directly to TA	CBMessageRef _newCBMessage;	// used in both cases	GsmEvent::SMSMessageType _messageType;	IncomingMessage() : _index(-1) {}};class EventHandler : public GsmEvent{public:	// inherited from GsmEvent	void SMSReception(SMSMessageRef newMessage, SMSMessageType messageType);	void CBReception(CBMessageRef newMessage);	void SMSReceptionIndication(string storeName, unsigned int index, SMSMessageType messageType);	virtual ~EventHandler() {}};class RecvThread : public QThread{public:	RecvThread(QObject *r, QMutex *m, QWaitCondition *c);	void stop();	void run();public:	bool enableSMS;	bool enableCB;	bool enableStat;	bool flushSMS;	bool onlyReceptionIndication;private:	QObject *receiver;	QMutex *mutex;	QWaitCondition *condition;	bool done;    private:		//struct sigaction terminateAction;	void newConnect();	void disConnect();	void flushSMSs();	void newSMSs();		MeTa *me;	string serviceCentreAddress;	string storeName;    };class RecvEvent : public QCustomEvent{public:	RecvEvent(QString s) : QCustomEvent(QEvent::User + 100), sz(s) { ; }	QString str() const { return sz; }private:	QString sz;    };class RecvSMS : public QObject{	Q_OBJECTpublic:	RecvSMS();	~RecvSMS();	void kill();	void customEvent(QCustomEvent *);signals:	void newMessage(const QString &);	void updateStatus(const QString &);	void errorOccurred(int status);	public slots:	void go();	void stop();    protected slots:	void errorHandling(int);	private:	QMutex mutex;	QWaitCondition condition;	RecvThread *recv;	bool stopped;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -