Changes to support Vodafone K4606
Dependencies: Socket USBHostWANDongle lwip-sys lwip
Fork of VodafoneUSBModem by
Diff: ussd/USSDInterface.h
- Revision:
- 29:870de7db2ccb
- Parent:
- 22:06fb2a93a1f6
- Child:
- 35:be311326ee06
--- a/ussd/USSDInterface.h Thu Aug 30 10:48:35 2012 +0000 +++ b/ussd/USSDInterface.h Thu Aug 30 12:58:10 2012 +0000 @@ -29,7 +29,7 @@ /** Component to send/receive Unstructured Supplementary Service Data (USSD) * */ -class USSDInterface : protected IATEventsHandler +class USSDInterface : protected IATCommandsProcessor, IATEventsHandler { public: /** Create USSDInterface instance @@ -51,13 +51,19 @@ int send(const char* command, char* result, size_t maxLength); protected: - //IATEventsHandler + //IATCommandsProcessor, needed for implementations of 3GGP standard < r06 + virtual int onNewATResponseLine(ATCommandsInterface* pInst, const char* line); + virtual int onNewEntryPrompt(ATCommandsInterface* pInst); + + //IATEventsHandler, needed for implementations of 3GGP standard >= r06 virtual bool isATCodeHandled(const char* atCode); //Is this AT code handled virtual void onDispatchStart(); virtual void onDispatchStop(); virtual void onEvent(const char* atCode, const char* evt); private: + void processResult(const char* data); + ATCommandsInterface* m_pIf; Mutex m_responseMtx; //To protect concurrent accesses btw the user's thread and the AT thread Semaphore m_responseSphre;