Wysyłanie SMS

  • 0 Odpowiedzi
  • 16772 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline PiKNew

  • ***
  • 437
  • Płeć: Mężczyzna
  • Sprzęt: iPaq h5550, Loox n560
Wysyłanie SMS
« dnia: Sierpień 11, 2011, 12:54:23 »
Cześć, czy ktoś miałby ochotę pomóc w implementacji wysyłania SMSów z MobileGadu? Poruszyłem temat tutaj, ale lepiej prowadzić dyskusję w tym dziale.

Oczywiście w takim przypadku oczekiwałbym zgodności ze zdefiniowanym interfejsem, który aktualnie wygląda tak (w uproszczeniu):

class Sms
{
public:
struct SMS_PARAMS
{
virtual ~SMS_PARAMS();
SMS_PARAMS();
SMS_PARAMS(const SMS_PARAMS& SmsParams);
SMS_PARAMS& operator=(const SMS_PARAMS& SmsParams);
};
public:
virtual ~Sms();
Sms(const TCHAR* tProxy = NULL);
public:
Sms(const Sms& sms);
Sms& operator=(const Sms& sms);
public:
virtual BOOL Send(const TCHAR* tRecipient,const TCHAR* tMessage,SMS_PARAMS* pSmsParams) = 0;
public:
enum SMS_GATEWAY
{
SMS_GATEWAY_TMOBILE = 0,
SMS_GATEWAY_PLUS = 1,
SMS_GATEWAY_ORANGE = 2,
SMS_GATEWAY_PLAY = 3
};
public:
static Sms* GetSms(SMS_GATEWAY SmsGateway,const TCHAR* tProxy);
static SMS_PARAMS* GetSmsParams(SMS_GATEWAY SmsGateway);
};

Dodatkowo klasa bazowa zapewnia dostęp do (tego w tym kodzie nie pokazałem):
metod pomocniczych takich jak konwersje ciągów znakowych, utf8 itp.
uchwytu HINTERNET z InternetOpen() - dalsze działania zależą od implementacji Send()

Dwie ostatnie metody (statyczne) są oczywiste - fabryka obiektów.

Klasa TMobile jest już w 100% gotowa (oczywiście mogę się podzielić kodem jako przykładem), do implementacji byłyby więc klasy:

class Orange : public Sms {};
class Plus : public Sms {};
class Play : public Sms {};

Są zainteresowani?