| /**************************************************************************** |
| ** |
| ** This file is part of the Qt Extended Opensource Package. |
| ** |
| ** Copyright (C) 2009 Trolltech ASA. |
| ** |
| ** Contact: Qt Extended Information ([email protected]) |
| ** |
| ** This file may be used under the terms of the GNU General Public License |
| ** version 2.0 as published by the Free Software Foundation and appearing |
| ** in the file LICENSE.GPL included in the packaging of this file. |
| ** |
| ** Please review the following information to ensure GNU General Public |
| ** Licensing requirements will be met: |
| ** http://www.fsf.org/licensing/licenses/info/GPLv2.html. |
| ** |
| ** |
| ****************************************************************************/ |
| |
| #ifndef SIMAPPLICATION_H |
| #define SIMAPPLICATION_H |
| |
| #include "phonesim.h" |
| #include <qsimcommand.h> |
| #include <qsimterminalresponse.h> |
| #include <qsimenvelope.h> |
| #include <qsimcontrolevent.h> |
| |
| class SimApplicationPrivate; |
| |
| class SimApplication : public QObject |
| { |
| Q_OBJECT |
| public: |
| SimApplication( SimRules *rules, QObject *parent = 0 ); |
| ~SimApplication(); |
| |
| virtual bool envelope( const QSimEnvelope& env ); |
| virtual bool response( const QSimTerminalResponse& resp ); |
| virtual QByteArray fetch( bool clear = false ); |
| |
| virtual const QString getName() = 0; |
| |
| public slots: |
| virtual void start(); |
| virtual void abort(); |
| |
| protected slots: |
| void command( const QSimCommand& cmd, |
| QObject *target, const char *slot, |
| QSimCommand::ToPduOptions options |
| = QSimCommand::NoPduOptions ); |
| void modemHandledCommand( const QSimCommand& cmd, int timeout ); |
| void controlEvent( const QSimControlEvent& event ); |
| |
| virtual void mainMenu() = 0; |
| virtual void mainMenuSelection( int id ); |
| virtual void mainMenuHelpRequest( int id ); |
| virtual void endSession(); |
| virtual void reinitSim(); |
| |
| private: |
| SimApplicationPrivate *d; |
| }; |
| |
| class DemoSimApplication : public SimApplication |
| { |
| Q_OBJECT |
| public: |
| DemoSimApplication( SimRules *rules, QObject *parent = 0 ); |
| ~DemoSimApplication(); |
| |
| const QString getName(); |
| |
| bool envelope( const QSimEnvelope& env ); |
| |
| protected slots: |
| void mainMenu(); |
| void mainMenuSelection( int id ); |
| void sendSportsMenu(); |
| void sportsMenu( const QSimTerminalResponse& resp ); |
| void sendCallsMenu(); |
| void callsMenu( const QSimTerminalResponse& resp ); |
| void startSticksGame(); |
| void sticksGameShow(); |
| void sticksGameLoop( const QSimTerminalResponse& resp ); |
| void getInputLoop( const QSimTerminalResponse& resp ); |
| void sticksGamePlayAgain( const QSimTerminalResponse& resp ); |
| void sendToneMenu(); |
| void toneMenu( const QSimTerminalResponse& resp ); |
| void sendIconMenu(); |
| void iconMenu( const QSimTerminalResponse& resp ); |
| void sendIconSEMenu(); |
| void iconSEMenu( const QSimTerminalResponse& resp ); |
| void sendDisplayText(); |
| void displayTextResponse( const QSimTerminalResponse& resp ); |
| void sendBrowserMenu(); |
| void browserMenu( const QSimTerminalResponse& resp ); |
| void sendDTMF(); |
| void sendSendSSMenu(); |
| void sendSSMenu( const QSimTerminalResponse& resp ); |
| void sendCBMenu(); |
| void CBMenu( const QSimTerminalResponse& resp ); |
| void sendCFMenu(); |
| void CFMenu( const QSimTerminalResponse& resp ); |
| void sendCWMenu(); |
| void CWMenu( const QSimTerminalResponse& resp ); |
| void sendCLIPMenu(); |
| void CLIPMenu( const QSimTerminalResponse& resp ); |
| void sendCLIRMenu(); |
| void CLIRMenu( const QSimTerminalResponse& resp ); |
| void sendCoLPMenu(); |
| void CoLPMenu( const QSimTerminalResponse& resp ); |
| void sendCoLRMenu(); |
| void CoLRMenu( const QSimTerminalResponse& resp ); |
| void sendCNAPMenu(); |
| void CNAPMenu( const QSimTerminalResponse& resp ); |
| void sendLanguageMenu(); |
| void languageMenu( const QSimTerminalResponse& resp ); |
| void sendUSSDMenu(); |
| void USSDMenu( const QSimTerminalResponse& resp ); |
| void sendSMSMenu(); |
| void smsMenuResp( const QSimTerminalResponse& resp ); |
| void smsSetDestResp( const QSimTerminalResponse& resp ); |
| void smsSetTextResp( const QSimTerminalResponse& resp ); |
| void sendPollingMenu(); |
| void pollingMenuResp( const QSimTerminalResponse& resp ); |
| void sendTimersMenu(); |
| void timersMenuResp( const QSimTerminalResponse& resp ); |
| void timersCmdResp( const QSimTerminalResponse& resp ); |
| void sendRefreshMenu(); |
| void refreshMenuResp( const QSimTerminalResponse& resp ); |
| void sendLocalInfoMenu(); |
| void localInfoMenu( const QSimTerminalResponse& resp ); |
| void sendBIPMenu(); |
| void BIPMenu( const QSimTerminalResponse& resp ); |
| void sendHandledMenu(); |
| void handledMenuResp( const QSimTerminalResponse& resp ); |
| |
| private: |
| int sticksLeft; |
| bool immediateResponse; |
| QString smsDestNumber, smsText; |
| QString timerStatus; |
| }; |
| |
| class ConformanceSimApplication : public SimApplication |
| { |
| Q_OBJECT |
| public: |
| ConformanceSimApplication( SimRules *rules, QObject *parent = 0 ); |
| ~ConformanceSimApplication(); |
| |
| const QString getName(); |
| |
| protected slots: |
| void mainMenu(); |
| void mainMenuSelection( int id ); |
| void sendDisplayTextMenu(); |
| void DisplayTextMenu( const QSimTerminalResponse& resp ); |
| void DisplayTextNormalMenu( const QSimTerminalResponse& resp ); |
| void sendDisplayTextNormalMenu(); |
| void sendDisplayTextIconMenu(); |
| void DisplayTextIconMenu( const QSimTerminalResponse& resp ); |
| void sendGetInkeyMenu(); |
| void GetInkeyMenu( const QSimTerminalResponse& resp ); |
| void GetInkeyNormalMenu( const QSimTerminalResponse& resp ); |
| void sendGetInkeyNormalMenu(); |
| void sendGetInkeyIconMenu(); |
| void GetInkeyIconMenu( const QSimTerminalResponse& resp ); |
| void sendHelpInfo( const QSimTerminalResponse& resp ); |
| void sendGetInputMenu(); |
| void GetInputMenu( const QSimTerminalResponse& resp ); |
| void GetInputNormalMenu( const QSimTerminalResponse& resp ); |
| void sendGetInputNormalMenu(); |
| void sendGetInputIconMenu(); |
| void GetInputIconMenu( const QSimTerminalResponse& resp ); |
| void sendSetupCallMenu(); |
| void SetupCallMenu( const QSimTerminalResponse& resp ); |
| }; |
| |
| #endif |