local fork

Dependencies:   Socket USBHostWANDongle_bleedingedge lwip-sys lwip

Dependents:   Encrypted

Fork of VodafoneUSBModem_bleedingedge by Donatien Garnier

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;