Основано на этом.
К сожалению, автор не выложил хедеры, пришлось попотеть с objdump-ом. Выкладываю пример программы и необходимые хедеры. Перед компиляцией необходимо добавить " -lezxmessagingsdk" в конец строк TMAKE_LIBS_QT и TMAKE_LIBS_QT_THREAD в tmake/lib/linux-ezx-g++/tmake.conf и перегенерить Makefile.
#include <stdio.h>
#include <ZSMSMsg.h>
#include <ZSMSSession.h>
#include <qstring.h>
#define SMS_PORT 123
//using namespace std;
bool sendSMS(QString phone_no, QString sms_text);
int main(int argc, char** argv)
{
printf("starting!\n");
sendSMS("+7905XXXXXXX", "this is a test!");
return 0;
};
bool sendSMS(QString phone_no, QString sms_text)
{
ZMFMEntry target_entry;
ZMFM::STATUS_T sms_status;
ZMFM::STATUS_T session_status;
ZSMSMsg *sms_msg;
ZSMSSession *sms_session;
// create new sms message
printf("create new sms message\n");
sms_msg = (ZSMSMsg *)ZMFMMsg::factory(ZMFM::MSG_TYPE_SMS);
// now set the target tel number
printf("now set the target tel number\n");
target_entry.setEntryVal(phone_no);
//target_entry.setEntryType('P');
sms_msg->setTo(target_entry);
// set sms port number
printf("set sms port number\n");
sms_msg->setPortNumber( SMS_PORT, SMS_PORT );
// set sms body text
printf("set sms body text\n");
sms_msg->setBody(sms_text);
// create sms session
printf("create sms session\n");
sms_session = new ZSMSSession(session_status);
//smsListener *listener = new smsListener(pSession); / / SmsListener * listener = new smsListener (pSession);
//pSession->setListener(listener,status); / / PSession-> setListener (listener, status);
printf("registerPortNumber\n");
session_status = sms_session->registerPortNumber(SMS_PORT, SMS_RECV_MODE_TEXT);
if (session_status == ZMFM::STATUS_SUCCESS) {
printf("reg sms port ok\n");
} else {
printf("reg sms port fail\n");
delete sms_msg;
//delete listener; / / Delete listener;
ZMFMSession::close(sms_session);
return -1;
}
// send sms now
sms_session->send(sms_msg,sms_status);
if(sms_status == ZMFM::STATUS_FAIL) {
printf("send sms fail\n");
return 0;
} else
printf("send sms ok\n");
return 0;
};
Сообщение отредактировал lavelas - 2.12.2007, 13:13
К сожалению, автор не выложил хедеры, пришлось попотеть с objdump-ом. Выкладываю пример программы и необходимые хедеры. Перед компиляцией необходимо добавить " -lezxmessagingsdk" в конец строк TMAKE_LIBS_QT и TMAKE_LIBS_QT_THREAD в tmake/lib/linux-ezx-g++/tmake.conf и перегенерить Makefile.
Код
#include <stdio.h>
#include <ZSMSMsg.h>
#include <ZSMSSession.h>
#include <qstring.h>
#define SMS_PORT 123
//using namespace std;
bool sendSMS(QString phone_no, QString sms_text);
int main(int argc, char** argv)
{
printf("starting!\n");
sendSMS("+7905XXXXXXX", "this is a test!");
return 0;
};
bool sendSMS(QString phone_no, QString sms_text)
{
ZMFMEntry target_entry;
ZMFM::STATUS_T sms_status;
ZMFM::STATUS_T session_status;
ZSMSMsg *sms_msg;
ZSMSSession *sms_session;
// create new sms message
printf("create new sms message\n");
sms_msg = (ZSMSMsg *)ZMFMMsg::factory(ZMFM::MSG_TYPE_SMS);
// now set the target tel number
printf("now set the target tel number\n");
target_entry.setEntryVal(phone_no);
//target_entry.setEntryType('P');
sms_msg->setTo(target_entry);
// set sms port number
printf("set sms port number\n");
sms_msg->setPortNumber( SMS_PORT, SMS_PORT );
// set sms body text
printf("set sms body text\n");
sms_msg->setBody(sms_text);
// create sms session
printf("create sms session\n");
sms_session = new ZSMSSession(session_status);
//smsListener *listener = new smsListener(pSession); / / SmsListener * listener = new smsListener (pSession);
//pSession->setListener(listener,status); / / PSession-> setListener (listener, status);
printf("registerPortNumber\n");
session_status = sms_session->registerPortNumber(SMS_PORT, SMS_RECV_MODE_TEXT);
if (session_status == ZMFM::STATUS_SUCCESS) {
printf("reg sms port ok\n");
} else {
printf("reg sms port fail\n");
delete sms_msg;
//delete listener; / / Delete listener;
ZMFMSession::close(sms_session);
return -1;
}
// send sms now
sms_session->send(sms_msg,sms_status);
if(sms_status == ZMFM::STATUS_FAIL) {
printf("send sms fail\n");
return 0;
} else
printf("send sms ok\n");
return 0;
};
Сообщение отредактировал lavelas - 2.12.2007, 13:13