Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Tests/Test13.h

Committer:
nherriot
Date:
2012-09-12
Revision:
29:c0e6f198db84
Parent:
28:c630a04a7198
Child:
30:dd2beda340c6

File content as of revision 29:c0e6f198db84:

#pragma once
#include "VodafoneTestCase.h"


// this test case will wait to receive an SMS from the modem.
// if the method that reports a message waiting returns an error it will fail.
// if the method that returns the message from the mailbox returns an error it will fai.
// it will report the test as failed if any of the above happens.
// it waits forever for an SMS.
// TODO: this should wait for a set time before failing.


class Test13 : public VodafoneTestCase {
   public: 

      char num[17];
      char msg[64];
      size_t count;
      

      Test13(VodafoneUSBModem *m, int tcNumber) : VodafoneTestCase(m, tcNumber) {
      }
   
      virtual bool runTest() {
         LOG("Creating GSM test buffer");
         LOG("Test %d waiting for an SMS message...", _testCaseNumber);
         LOG("Receiving SMS from test phone, waiting for response.");
      
         while(true)
            {
             LOG("Waiting for an SMS message...");
             int ret = _modem->getSMCount(&count);
             if(ret)
                {
                    LOG("getSMCount returned %d", ret);
                    Thread::wait(3000);
                    continue;
                }
    
             if( count > 0)
                {
                    LOG("%d SMS to read", count);
                    ret = _modem->getSM(num, msg, 64);
                if(ret)
                    {
                        LOG("Error receiving sms. The method getSMS  returned %d", ret);
                        LOG("THE MESSAGE IS: %S", testMessage);
                        LOG("THE MESSAGE IS: %S", myMessage);
                        return false;
                    }
                LOG("The message is from number: %s and the message is: \"%s\"", num, msg);
                return true;
                }
                Thread::wait(500);
            }
                  
      }

   private:
      char gsm03dot38CharacterSet[127];
      // gsm03dot38CharacterSet="@�$�����������&#916;_&#934;&#915;&#923;&#937;&#928;&#936;&#931;&#920;&#926;���� !�#�%&�()*+,-./0123456789:;<=>?�ABCDEFGHIJKLMNOPQRSTUVWXYZ���ܧ�abcdefghijklmnopqrstuvwxyz�����";
            




};