[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdenonbeta/kmobiletools/kmobiletools/engines/at_engine
From:       Alexander Rensmann <zerraxys () gmx ! net>
Date:       2005-04-10 17:26:34
Message-ID: 20050410172634.B184B495 () office ! kde ! org
[Download RAW message or body]

CVS commit by arensmann: 

Some lines for sms encoding.


  M +39 -0     at_jobs.cpp   1.18
  M +5 -1      at_jobs.h   1.16


--- kdenonbeta/kmobiletools/kmobiletools/engines/at_engine/at_jobs.cpp  #1.17:1.18
@@ -874,7 +874,46 @@ void SendSMS::run()
 StoreSMS::StoreSMS( QString number, QString text, Device *device, \
kmobiletoolsAT_engine* parent, const char* name ) : kmobiletoolsATJob( device, \
parent, name )  {
+    this->number = number;
+    this->text = text;
 }
 
 void StoreSMS::run()
 {
+    SMSEncoder encoder( number, text );
+}
+
+/*
+ * class SMSEncoder
+ */
+
+SMSEncoder::SMSEncoder( QString number, QString message)
+{
+    encodeSMS( number, message );
+}
+
+void SMSEncoder::encodeSMS( QString number, QString message )
+{
+    QString pdu = "001100";  // SMS Message Sender number + SMS-Submit + TP-Message \
Reference +    pdu += encodeNumber( number );
+    pdu += "00"; /* Protocol identifier */
+
+    /* DCS */
+    /* VP */
+    /* Message */
+}
+
+QString SMSEncoder::encodeNumber( QString number )
+{
+    QString res;
+    res += number.startsWith("+") ? "91" : "81";
+    if ( number.startsWith("+") ) number = number.mid( 1 );
+    int len = number.length();
+    res += QString("%1").arg( len, 2, 16 );
+
+    if ( odd(number.length()) ) number+="F";
+    for(unsigned int i=0; i<number.length(); i+=2)
+        res += number.mid(i+1,1) + number.mid(i,1);
+
+    return res;
+
 }

--- kdenonbeta/kmobiletools/kmobiletools/engines/at_engine/at_jobs.h  #1.15:1.16
@@ -266,6 +266,9 @@ class SMSEncoder
     public:
         SMSEncoder( QStringList number, QString message) {};
-        SMSEncoder( QString, QString message) {};
+        SMSEncoder( QString number, QString message);
         int getMessageCount() { return 0; };
+    protected:
+        void encodeSMS( QString number, QString message );
+        QString encodeNumber( QString number );
 };
 
@@ -327,4 +330,5 @@ class StoreSMS : public kmobiletoolsATJo
         bool succeeded() { return true; };
     protected:
+        QString number, text;
         void run();
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic