diff -r 3406c99bc375 -r 07b41fa8d1dd hti/PC_Tools/HTIGateway/ServicePlugins/HtiMessages/HtiMessages.cpp --- a/hti/PC_Tools/HTIGateway/ServicePlugins/HtiMessages/HtiMessages.cpp Thu Jul 15 20:25:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,603 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -*/ -#include "HtiMessagesH.h" -#include "HtiPlugin.h" -#include "HtiSoapHandlerInterface.h" - -//********************************************************************************** -// CONSTANTS -// -//********************************************************************************** - -// commands -const unsigned char CMD_ADD_SMS_TO_INDOX = 0x01; -const unsigned char CMD_ADD_MMS_TO_INDOX = 0x02; -const unsigned char CMD_ADD_EMAIL = 0x03; -const unsigned char CMD_ADD_IR_MESSAGE = 0x04; -const unsigned char CMD_ADD_BT_MESSAGE = 0x05; -const unsigned char CMD_ADD_SMART_MESSAGE = 0x06; -const unsigned char CMD_ADD_AUDIO_MESSAGE = 0x07; -const unsigned char CMD_DELETE_MESSAGE = 0x10; -const unsigned char CMD_DELETE_ALL_FROM_FOLDER = 0x11; -const unsigned char CMD_CREATE_MAILBOX = 0x20; -const unsigned char CMD_DELETE_MAILBOX = 0x21; -const unsigned char CMD_CREATE_ACCESS_POINT = 0x30; -const unsigned char CMD_DELETE_ACCESS_POINT = 0x31; -const unsigned char CMD_CREATE_DESTINATION = 0x32; -const unsigned char CMD_DELETE_DESTINATION = 0x33; -const unsigned char CMD_ADD_TO_DESTINATION = 0x34; -const unsigned char CMD_REMOVE_FROM_DESTINATION = 0x35; -const unsigned char CMD_SET_DEFAULT_SMS_CENTER = 0x40; -const unsigned char CMD_DELETE_SMS_CENTER = 0x41; -const unsigned char CMD_SET_SMS_SETTINGS = 0x42; -const unsigned char CMD_SET_MMS_SETTINGS = 0x45; - - -//********************************************************************************** -// SOAP FUNCTIONS -// -//********************************************************************************** - -//********************************************************************************** -// ns1__addSMS -//********************************************************************************** -int ns1__addSMS(struct soap* soap, - char *fromField, - char *description, - char *messageBody, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int &messageId) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_SMS_TO_INDOX ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthWordZero( messageBody ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__addMMS -//********************************************************************************** -int ns1__addMMS(struct soap* soap, - char *fromField, - char *description, - char *messageBody, - char *attachmentPath, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int &messageId) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_MMS_TO_INDOX ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthWordZero( messageBody ); - msg.AddStringWithLengthByteZero( attachmentPath ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__addEMail -//********************************************************************************** -int ns1__addEMail(struct soap* soap, - char *fromField, - char *description, - char *messageBody, - char *attachmentPath, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int &messageId) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_EMAIL ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthWordZero( messageBody ); - msg.AddStringWithLengthByteZero( attachmentPath ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__addIRMessage -//********************************************************************************** -int ns1__addIRMessage(struct soap* soap, - char *fromField, - char *description, - char *attachmentPath, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int &messageId) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_IR_MESSAGE ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthByteZero( attachmentPath ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__addBTMessage -//********************************************************************************** -int ns1__addBTMessage(struct soap* soap, - char *fromField, - char *description, - char *attachmentPath, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int &messageId) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_BT_MESSAGE ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthByteZero( attachmentPath ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__addSmartMessage -//********************************************************************************** -int ns1__addSmartMessage(struct soap* soap, - char *fromField, - char *description, - char *messageBody, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int BIOmessageType, - int &messageId) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_SMART_MESSAGE ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthWordZero( messageBody ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - msg.AddInt( BIOmessageType ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__addAudioMessage -//********************************************************************************** -int ns1__addAudioMessage(struct soap* soap, - char *fromField, - char *description, - char *attachmentPath, - bool isNewFlag, - bool isUnreadFlag, - enum ns1__folder folder, - int &messageId) -{ - if ( check_mandatory_string_parameter( soap, attachmentPath, "attachmentPath" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_AUDIO_MESSAGE ); - msg.AddStringWithLengthByteZero( fromField ); - msg.AddStringWithLengthByteZero( description ); - msg.AddStringWithLengthByteZero( attachmentPath ); - msg.AddByte( isNewFlag ); - msg.AddByte( isUnreadFlag ); - msg.AddByte( folder ); - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - messageId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__deleteMessage -//********************************************************************************** -int ns1__deleteMessage(struct soap* soap, - int messageId, - struct ns1__deleteMessageResponse *out) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_DELETE_MESSAGE ); - msg.AddInt( messageId ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__deleteMessage -//********************************************************************************** -int ns1__deleteAllFromFolder(struct soap* soap, - enum ns1__messageType type, - enum ns1__folder folder, - struct ns1__deleteAllFromFolderResponse *out) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_DELETE_ALL_FROM_FOLDER ); - msg.AddByte( folder ); - msg.AddByte( type ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__createAccessPoint -//********************************************************************************** -int ns1__createAccessPoint(struct soap* soap, - enum ns1__bearerType bearer, - char *apName, - struct ArrayOfHtiAPSettingFields APSettings, - int &entryId) -{ - if ( check_mandatory_string_parameter( soap, apName, "apName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_CREATE_ACCESS_POINT ); - msg.AddByte( bearer ); - msg.AddStringWithLengthByte( apName ); - msg.AddByte( (BYTE) APSettings.__size ); - - // Loop through setting fields - for ( int i = 0; i < APSettings.__size; i++ ) - { - msg.AddByte( APSettings.__ptrHtiAPSettingField[i].fieldType ); - - // fieldData cannot be empty - if ( check_mandatory_string_parameter( soap, - APSettings.__ptrHtiAPSettingField[i].fieldData, - "HtiAPSettingField.fieldData" ) ) - return SOAP_FAULT; - - msg.AddStringWithLengthByte( APSettings.__ptrHtiAPSettingField[i].fieldData ); - } - - if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) ) - return SOAP_FAULT; - - if ( msg.CheckCommandCode( 0xFF ) || msg.CheckMsgExactLen( 5 ) ) - return SOAP_FAULT; - - entryId = msg.GetInt( 1 ); - - return SOAP_OK; -} - -//********************************************************************************** -// ns1__deleteAccessPoint -//********************************************************************************** -int ns1__deleteAccessPoint(struct soap* soap, - char *apName, - struct ns1__deleteAccessPointResponse *out) -{ - if ( check_mandatory_string_parameter( soap, apName, "apName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_DELETE_ACCESS_POINT ); - msg.AddStringWithLengthByte( apName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__createMailbox -//********************************************************************************** -int ns1__createMailbox(struct soap* soap, - enum ns1__mailboxType mailboxType, - char *mailboxName, - char *incomingServer, - char *incomingAccessPoint, - char *incomingUsername, - char *incomingPassword, - enum ns1__securitySetting incomingSecurity, - unsigned short incomingPort, - bool aPopSecureLogin, - char *outgoingServer, - char *outgoingAccessPoint, - char *outgoingUsername, - char *outgoingPassword, - enum ns1__securitySetting outgoingSecurity, - unsigned short outgoingPort, - char *ownMailAddress, - char *ownName, - enum ns1__sendOption sendOption, - enum ns1__copyToOwn copyToOwnAddress, - char *signatureText, - bool newMailIndicators, - enum ns1__retrievedParts retrievedParts, - unsigned short retrieveSizeLimit, - unsigned short emailsToRetrieve, - char *imap4FolderPath, - enum ns1__automaticUpdate automaticUpdate, - bool setAsDefault, - struct ns1__createMailboxResponse *out) -{ - // Check for mandatory stuff - if ( check_mandatory_string_parameter( soap, mailboxName, "mailboxName" ) ) - return SOAP_FAULT; - - if ( check_mandatory_string_parameter( soap, incomingServer, "incomingServer" ) ) - return SOAP_FAULT; - - if ( check_mandatory_string_parameter( soap, outgoingServer, "outgoingServer" ) ) - return SOAP_FAULT; - - if ( check_mandatory_string_parameter( soap, ownMailAddress, "ownMailAddress" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_CREATE_MAILBOX ); - msg.AddByte( mailboxType ); - msg.AddStringWithLengthByte( mailboxName ); - msg.AddStringWithLengthByte( incomingServer ); - msg.AddStringWithLengthByteZero( incomingAccessPoint ); - msg.AddStringWithLengthByteZero( incomingUsername ); - msg.AddStringWithLengthByteZero( incomingPassword ); - msg.AddByte( incomingSecurity ); - msg.AddWord( incomingPort ); - msg.AddByte( aPopSecureLogin ); - msg.AddStringWithLengthByte( outgoingServer ); - msg.AddStringWithLengthByteZero( outgoingAccessPoint ); - msg.AddStringWithLengthByteZero( outgoingUsername ); - msg.AddStringWithLengthByteZero( outgoingPassword ); - msg.AddByte( outgoingSecurity ); - msg.AddWord( outgoingPort ); - msg.AddStringWithLengthByte( ownMailAddress ); - msg.AddStringWithLengthByteZero( ownName ); - msg.AddByte( sendOption ); - msg.AddByte( copyToOwnAddress ); - msg.AddStringWithLengthWordZero( signatureText ); - msg.AddByte( newMailIndicators ); - msg.AddByte( retrievedParts ); - msg.AddWord( retrieveSizeLimit ); - msg.AddWord( emailsToRetrieve ); - msg.AddStringWithLengthByteZero( imap4FolderPath ); - msg.AddByte( automaticUpdate ); - msg.AddByte( setAsDefault ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__deleteMailbox -//********************************************************************************** -int ns1__deleteMailbox(struct soap* soap, - char *mailboxName, - struct ns1__deleteMailboxResponse *out) -{ - if ( check_mandatory_string_parameter( soap, mailboxName, "mailboxName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_DELETE_MAILBOX ); - msg.AddStringWithLengthByte( mailboxName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__setDefaultSmsCenter -//********************************************************************************** -int ns1__setDefaultSmsCenter(struct soap* soap, - char *smsCenterName, - char *smsCenterNumber, - struct ns1__setDefaultSmsCenterResponse *out) -{ - if ( check_mandatory_string_parameter( soap, smsCenterName, "smsCenterName" ) ) - return SOAP_FAULT; - if ( check_mandatory_string_parameter( soap, smsCenterNumber, "smsCenterNumber" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_SET_DEFAULT_SMS_CENTER ); - msg.AddStringWithLengthByte( smsCenterName ); - msg.AddStringWithLengthByte( smsCenterNumber ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__deleteSmsCenter -//********************************************************************************** -int ns1__deleteSmsCenter(struct soap* soap, - char *smsCenterName, - struct ns1__deleteSmsCenterResponse *out) -{ - if ( check_mandatory_string_parameter( soap, smsCenterName, "smsCenterName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_DELETE_SMS_CENTER ); - msg.AddStringWithLengthByte( smsCenterName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__setSmsSettings -//********************************************************************************** -int ns1__setSmsSettings(struct soap* soap, - enum ns1__smsCharacterSupport characterSupport, - bool requestDeliveryReport, - enum ns1__msgValidity validityPeriod, - enum ns1__smsMessageConversion messageConversion, - enum ns1__smsPreferredConnection preferredConnection, - bool replyViaSameCenter, - struct ns1__setSmsSettingsResponse *out) -{ - HtiMsgHelper msg( soap, HTI_UID, CMD_SET_SMS_SETTINGS ); - msg.AddByte( characterSupport ); - msg.AddByte( requestDeliveryReport ); - msg.AddByte( validityPeriod ); - msg.AddByte( messageConversion ); - msg.AddByte( preferredConnection ); - msg.AddByte( replyViaSameCenter ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__setMmsSettings -//********************************************************************************** -int ns1__setMmsSettings(struct soap* soap, - char *accessPointName, - enum ns1__mmsCreationMode creationMode, - enum ns1__mmsImageSize imageSize, - enum ns1__mmsReception reception, - bool receiveAnonymous, - bool receiveAdvertisements, - bool requestDeliveryReports, - bool sendDeliveryReports, - enum ns1__msgValidity validityPeriod, - struct ns1__setMmsSettingsResponse *out) -{ - if ( check_mandatory_string_parameter( soap, accessPointName, "accessPointName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_SET_MMS_SETTINGS ); - msg.AddStringWithLengthByte( accessPointName ); - msg.AddByte( creationMode ); - msg.AddByte( imageSize ); - msg.AddByte( reception ); - msg.AddByte( receiveAnonymous ); - msg.AddByte( receiveAdvertisements ); - msg.AddByte( requestDeliveryReports ); - msg.AddByte( sendDeliveryReports ); - msg.AddByte( validityPeriod ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__createDestination -//********************************************************************************** -int ns1__createDestination(struct soap* soap, - char *destinationName, - struct ns1__createDestinationResponse *out) -{ - if ( check_mandatory_string_parameter( soap, destinationName, "destinationName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_CREATE_DESTINATION ); - msg.AddStringWithLengthByte( destinationName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__deleteDestination -//********************************************************************************** -int ns1__deleteDestination(struct soap* soap, - char *destinationName, - struct ns1__deleteDestinationResponse *out) -{ - if ( check_mandatory_string_parameter( soap, destinationName, "destinationName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_DELETE_DESTINATION ); - msg.AddStringWithLengthByte( destinationName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__addToDestination -//********************************************************************************** -int ns1__addToDestination(struct soap* soap, - char *accessPointName, - char *destinationName, - struct ns1__addToDestinationResponse *out) -{ - if ( check_mandatory_string_parameter( soap, accessPointName, "accessPointName" ) ) - return SOAP_FAULT; - - if ( check_mandatory_string_parameter( soap, destinationName, "destinationName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_ADD_TO_DESTINATION ); - msg.AddStringWithLengthByte( accessPointName ); - msg.AddStringWithLengthByte( destinationName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -} - -//********************************************************************************** -// ns1__removeFromDestination -//********************************************************************************** -int ns1__removeFromDestination(struct soap* soap, - char *accessPointName, - char *destinationName, - struct ns1__removeFromDestinationResponse *out) -{ - if ( check_mandatory_string_parameter( soap, accessPointName, "accessPointName" ) ) - return SOAP_FAULT; - - if ( check_mandatory_string_parameter( soap, destinationName, "destinationName" ) ) - return SOAP_FAULT; - - HtiMsgHelper msg( soap, HTI_UID, CMD_REMOVE_FROM_DESTINATION ); - msg.AddStringWithLengthByte( accessPointName ); - msg.AddStringWithLengthByte( destinationName ); - return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ); -}