--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hti/PC_Tools/HTIGateway/ServicePlugins/HtiSysInfo/HtiSysInfo.cpp Wed Oct 13 16:17:58 2010 +0300
@@ -0,0 +1,787 @@
+/*
+* 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 "HtiSysInfoH.h"
+#include "HtiPlugin.h"
+#include "HtiSoapHandlerInterface.h"
+
+const unsigned char CMD_HAL = 0x01;
+const unsigned char CMD_IMEI = 0x02;
+const unsigned char CMD_SW_VERSION = 0x03;
+const unsigned char CMD_LANG_VERSION = 0x04;
+const unsigned char CMD_SW_LANG_VERSION = 0x05;
+const unsigned char CMD_USERAGENT_STRING = 0x06;
+const unsigned char CMD_GET_FREE_RAM = 0x07;
+const unsigned char CMD_GET_USED_RAM = 0x08;
+const unsigned char CMD_GET_TOTAL_RAM = 0x09;
+const unsigned char CMD_EAT_RAM = 0x0A;
+const unsigned char CMD_RELEASE_RAM = 0x0B;
+const unsigned char CMD_GET_FREE_DISKSPACE = 0x0C;
+const unsigned char CMD_GET_USED_DISKSPACE = 0x0D;
+const unsigned char CMD_GET_TOTAL_DISKSPACE = 0x0E;
+const unsigned char CMD_EAT_DISKSPACE = 0x0F;
+const unsigned char CMD_RELEASE_DISKSPACE = 0x10;
+const unsigned char CMD_SET_HOMETIME = 0x20;
+const unsigned char CMD_GET_HOMETIME = 0x21;
+const unsigned char CMD_SET_DATE_TIME_FORMAT = 0x22;
+const unsigned char CMD_LIGHT_STATUS = 0x30;
+const unsigned char CMD_LIGHT_ON = 0x31;
+const unsigned char CMD_LIGHT_OFF = 0x32;
+const unsigned char CMD_LIGHT_BLINK = 0x33;
+const unsigned char CMD_LIGHT_RELEASE = 0x3A;
+const unsigned char CMD_SCREENSAVER_DISABLE = 0x40;
+const unsigned char CMD_SCREENSAVER_ENABLE = 0x41;
+const unsigned char CMD_SCREENSAVER_TIMEOUT = 0x42;
+const unsigned char CMD_GET_NETWORK_MODE = 0x50;
+const unsigned char CMD_SET_NETWORK_MODE = 0x51;
+const unsigned char CMD_SET_NETWORK_MODE_NO_REBOOT = 0x52;
+const unsigned char CMD_HSDPA_ENABLE_DISABLE = 0x53;
+const unsigned char CMD_IR_ACTIVATE = 0x5A;
+const unsigned char CMD_BT_POWER_STATE = 0x5B;
+const unsigned char CMD_BT_SETTINGS = 0x5C;
+const unsigned char CMD_BT_DELETE_PAIRINGS = 0x5D;
+const unsigned char CMD_KEY_LOCK_TOGGLE = 0x60;
+const unsigned char CMD_AUTO_KEY_LOCK_TIME = 0x61;
+const unsigned char CMD_EMPTY_DRM_RIGHTS_DB = 0x65;
+const unsigned char CMD_BATTERY_STATUS = 0x70;
+const unsigned char CMD_SIGNAL_STRENGTH = 0x71;
+const unsigned char CMD_UPDATE_MEDIA_GALLERY = 0x7A;
+const unsigned char CMD_ACTIVATE_SKIN = 0x80;
+
+//const unsigned char CMD_LIGHT_SUCCESS = 0x00;
+
+//**********************************************************************************
+// SOAP FUNCTIONS
+//
+//**********************************************************************************
+
+//**********************************************************************************
+// ns1__getHalAttribute()
+//**********************************************************************************
+int ns1__getHalAttribute(struct soap* soap,
+ int attribute,
+ int &halAttribute)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_HAL );
+ msg.AddInt( attribute );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ if ( msg.CheckMsgExactLen( 4 ) )
+ return SOAP_FAULT;
+
+ halAttribute = msg.GetInt( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getImei()
+//**********************************************************************************
+int ns1__getImei(struct soap* soap,
+ void *_,
+ char *&imei)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_IMEI );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ imei = msg.GetSoapString( 0, msg.GetMsgLen() );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getSwVersion()
+//**********************************************************************************
+int ns1__getSwVersion(struct soap* soap,
+ void *_,
+ wchar_t *&SwVersion)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SW_VERSION );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ // UCS-2 encoded string size must always be even
+ if( msg.GetMsgLen() % 2 )
+ {
+ soap->error = soap_receiver_fault(soap, "HtiError",
+ "response message size not even");
+ return SOAP_FAULT;
+ }
+
+ // SwVersion returned as UCS-2 encoded text
+ SwVersion = msg.GetSoapWCString( 0, msg.GetMsgLen()/2 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getLangVersion()
+//**********************************************************************************
+int ns1__getLangVersion(struct soap* soap,
+ void *_,
+ wchar_t *&langVersion)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_LANG_VERSION );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ // UCS-2 encoded string size must always be even
+ if( msg.GetMsgLen() % 2 )
+ {
+ soap->error = soap_receiver_fault(soap, "HtiError",
+ "response message size not even");
+ return SOAP_FAULT;
+ }
+
+ // LangVersion returned as UCS-2 encoded text
+ langVersion = msg.GetSoapWCString( 0, msg.GetMsgLen()/2 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getSwLangVersion()
+//**********************************************************************************
+int ns1__getSwLangVersion(struct soap* soap,
+ void *_,
+ wchar_t *&swLangVersion)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SW_LANG_VERSION );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ // UCS-2 encoded string size must always be even
+ if( msg.GetMsgLen() % 2 )
+ {
+ soap->error = soap_receiver_fault(soap, "HtiError",
+ "response message size not even");
+ return SOAP_FAULT;
+ }
+
+ // swLangVersion returned as UCS-2 encoded text
+ swLangVersion = msg.GetSoapWCString( 0, msg.GetMsgLen()/2 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getUserAgentString()
+//**********************************************************************************
+int ns1__getUserAgentString(struct soap* soap,
+ void *_,
+ char *&userAgentString)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_USERAGENT_STRING );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ userAgentString = msg.GetSoapString( 0, msg.GetMsgLen() );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__setHomeTime()
+//**********************************************************************************
+int ns1__setHomeTime(struct soap* soap,
+ struct ns1__HtiTime * time,
+ struct ns1__setHomeTimeResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SET_HOMETIME );
+ msg.AddWord( time->year );
+ msg.AddByte( time->month );
+ msg.AddByte( time->day );
+ msg.AddByte( time->hour );
+ msg.AddByte( time->minute );
+ msg.AddByte( time->second );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__getHomeTime()
+//**********************************************************************************
+int ns1__getHomeTime(struct soap* soap,
+ void *_,
+ struct getHomeTimeResponse& r)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_HOMETIME );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ if ( msg.CheckMsgExactLen( 7 ) )
+ return SOAP_FAULT;
+
+ r._returnHtiTime.year = msg.GetWord( 0 );
+ r._returnHtiTime.month = msg.GetByte( 2 );
+ r._returnHtiTime.day = msg.GetByte( 3 );
+ r._returnHtiTime.hour = msg.GetByte( 4 );
+ r._returnHtiTime.minute = msg.GetByte( 5 );
+ r._returnHtiTime.second = msg.GetByte( 6 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__setDateTimeFormat()
+//**********************************************************************************
+int ns1__setDateTimeFormat(struct soap* soap,
+ enum DateFormat dateFormat,
+ unsigned char dateSeparator,
+ enum TimeFormat timeFormat,
+ unsigned char timeSeparator,
+ enum ClockFormat clockFormat,
+ struct ns1__setDateTimeFormatResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SET_DATE_TIME_FORMAT );
+ msg.AddByte( dateFormat );
+ msg.AddByte( dateSeparator );
+ msg.AddByte( timeFormat );
+ msg.AddByte( timeSeparator );
+ msg.AddByte( clockFormat );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__getFreeRAM()
+//**********************************************************************************
+int ns1__getFreeRAM(struct soap* soap,
+ void *_,
+ unsigned int &freeRAM)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_FREE_RAM );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ freeRAM = (unsigned int) msg.GetInt( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getUsedRAM()
+//**********************************************************************************
+int ns1__getUsedRAM(struct soap* soap,
+ void *_,
+ unsigned int &usedRAM)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_USED_RAM );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ usedRAM = (unsigned int) msg.GetInt( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getTotalRAM()
+//**********************************************************************************
+int ns1__getTotalRAM(struct soap* soap,
+ void *_,
+ unsigned int &totalRAM)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_TOTAL_RAM );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ totalRAM = (unsigned int) msg.GetInt( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__eatRAM()
+//**********************************************************************************
+int ns1__eatRAM(struct soap* soap,
+ unsigned int RAMToBeLeftOver,
+ unsigned int &freeRAM)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_EAT_RAM );
+ msg.AddInt( RAMToBeLeftOver );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ freeRAM = (unsigned int) msg.GetInt( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__releaseRAM()
+//**********************************************************************************
+int ns1__releaseRAM(struct soap* soap,
+ void *_,
+ unsigned int &freeRAM)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_RELEASE_RAM );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ freeRAM = (unsigned int) msg.GetInt( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getFreeDiskSpace()
+//**********************************************************************************
+int ns1__getFreeDiskSpace(struct soap* soap,
+ char *driveLetter,
+ ULONG64 &freeDiskSpace)
+{
+ if ( check_mandatory_string_parameter( soap, driveLetter, "driveLetter" ) )
+ return SOAP_FAULT;
+
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_FREE_DISKSPACE );
+ msg.AddByte( driveLetter[0] );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ freeDiskSpace = *(ULONG64*) msg.GetMsgBody();
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getUsedDiskSpace()
+//**********************************************************************************
+int ns1__getUsedDiskSpace(struct soap* soap,
+ char *driveLetter,
+ ULONG64 &usedDiskSpace)
+{
+ if ( check_mandatory_string_parameter( soap, driveLetter, "driveLetter" ) )
+ return SOAP_FAULT;
+
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_USED_DISKSPACE );
+ msg.AddByte( driveLetter[0] );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ usedDiskSpace = *(ULONG64*) msg.GetMsgBody();
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__getTotalDiskSpace()
+//**********************************************************************************
+int ns1__getTotalDiskSpace(struct soap* soap,
+ char *driveLetter,
+ ULONG64 &totalDiskSpace)
+{
+ if ( check_mandatory_string_parameter( soap, driveLetter, "driveLetter" ) )
+ return SOAP_FAULT;
+
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_TOTAL_DISKSPACE );
+ msg.AddByte( driveLetter[0] );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ totalDiskSpace = *(ULONG64*) msg.GetMsgBody();
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__eatDiskSpace()
+//**********************************************************************************
+int ns1__eatDiskSpace(struct soap* soap,
+ char *driveLetter,
+ ULONG64 diskSpaceToBeLeftOver,
+ ULONG64 &freeDiskSpace)
+{
+ if ( check_mandatory_string_parameter( soap, driveLetter, "driveLetter" ) )
+ return SOAP_FAULT;
+
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_EAT_DISKSPACE );
+ msg.AddByte( driveLetter[0] );
+ msg.AddUInt64( diskSpaceToBeLeftOver );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ freeDiskSpace = *(ULONG64*) msg.GetMsgBody();
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__releaseDiskSpace()
+//**********************************************************************************
+int ns1__releaseDiskSpace(struct soap* soap,
+ char *driveLetter,
+ ULONG64 &freeDiskSpace)
+{
+ if ( check_mandatory_string_parameter( soap, driveLetter, "driveLetter" ) )
+ return SOAP_FAULT;
+
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_RELEASE_DISKSPACE );
+ msg.AddByte( driveLetter[0] );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ freeDiskSpace = *(ULONG64*) msg.GetMsgBody();
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__lightStatus()
+//**********************************************************************************
+int ns1__lightStatus(struct soap* soap,
+ unsigned char lightTarget,
+ unsigned char &lightStatus)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_LIGHT_STATUS );
+ msg.AddByte( lightTarget );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ lightStatus = msg.GetByte( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__lightOn()
+//**********************************************************************************
+int ns1__lightOn(struct soap* soap,
+ unsigned char lightTarget,
+ unsigned short duration,
+ unsigned char intensity,
+ unsigned char fadeIn,
+ struct ns1__lightOnResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_LIGHT_ON );
+ msg.AddByte( lightTarget );
+ msg.AddWord( duration );
+ msg.AddByte( intensity );
+ msg.AddByte( fadeIn );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__lightOff()
+//**********************************************************************************
+int ns1__lightOff(struct soap* soap,
+ unsigned char lightTarget,
+ unsigned short duration,
+ unsigned char fadeOut,
+ struct ns1__lightOffResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_LIGHT_OFF );
+ msg.AddByte( lightTarget );
+ msg.AddWord( duration );
+ msg.AddByte( fadeOut );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__lightBlink()
+//**********************************************************************************
+int ns1__lightBlink(struct soap* soap,
+ unsigned char lightTarget,
+ unsigned short duration,
+ unsigned short onDuration,
+ unsigned short offDuration,
+ unsigned char intensity,
+ struct ns1__lightBlinkResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_LIGHT_BLINK );
+ msg.AddByte( lightTarget );
+ msg.AddWord( duration );
+ msg.AddWord( onDuration );
+ msg.AddWord( offDuration );
+ msg.AddByte( intensity );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__lightRelease()
+//**********************************************************************************
+int ns1__lightRelease(struct soap* soap,
+ void *_,
+ struct ns1__lightReleaseResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_LIGHT_RELEASE );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__screenSaverDisable()
+//**********************************************************************************
+int ns1__screenSaverDisable(struct soap* soap,
+ void *_,
+ struct ns1__screenSaverDisableResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SCREENSAVER_DISABLE );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__screenSaverEnable()
+//**********************************************************************************
+int ns1__screenSaverEnable(struct soap* soap,
+ void *_,
+ struct ns1__screenSaverEnableResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SCREENSAVER_ENABLE );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__screenSaverTimeout()
+//**********************************************************************************
+int ns1__screenSaverTimeout(struct soap* soap,
+ unsigned char timeout,
+ struct ns1__screenSaverTimeoutResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SCREENSAVER_TIMEOUT );
+ msg.AddByte( timeout );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__getNetworkMode()
+//**********************************************************************************
+int ns1__getNetworkMode(struct soap* soap,
+ void *_,
+ enum NetworkMode &mode)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_GET_NETWORK_MODE );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ if ( msg.CheckCommandCode( CMD_GET_NETWORK_MODE ) )
+ return SOAP_FAULT;
+
+ mode = (NetworkMode) msg.GetInt( 1 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__setNetworkMode()
+//**********************************************************************************
+int ns1__setNetworkMode(struct soap* soap,
+ enum NetworkMode mode,
+ struct ns1__setNetworkModeResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SET_NETWORK_MODE );
+ msg.AddInt( mode );
+ msg.SendMsg();
+
+ HtiSoapHandlerInterface* handler =
+ static_cast<HtiSoapHandlerInterface*>( soap->user );
+
+ // Wait a while if there is an error message. If there is no
+ // response it is assumed that the command has succeeded.
+ handler->WaitForHtiMessage( HTIMSG_TIMEOUT_10_SECONDS );
+ if ( handler->IsReceivedHtiError() )
+ {
+ handler->SendSoapFaultFromReceivedHtiError();
+ return SOAP_FAULT;
+ }
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__setNetworkModeNoReboot()
+//**********************************************************************************
+int ns1__setNetworkModeNoReboot(struct soap* soap,
+ enum NetworkMode mode,
+ struct ns1__setNetworkModeNoRebootResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SET_NETWORK_MODE_NO_REBOOT );
+ msg.AddInt( mode );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__setHsdpaStatus()
+//**********************************************************************************
+int ns1__setHsdpaStatus(struct soap* soap,
+ enum HsdpaStatus status,
+ struct ns1__setHsdpaStatusResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_HSDPA_ENABLE_DISABLE );
+ msg.AddInt( status );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__irActivate()
+//**********************************************************************************
+int ns1__irActivate(struct soap* soap,
+ void *_,
+ struct ns1__irActivateResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_IR_ACTIVATE );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__btPowerState()
+//**********************************************************************************
+int ns1__btPowerState(struct soap* soap,
+ bool btOn,
+ bool force,
+ struct ns1__btPowerStateResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_BT_POWER_STATE );
+ msg.AddByte( btOn );
+ msg.AddByte( force );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__btSettings()
+//**********************************************************************************
+int ns1__btSettings(struct soap* soap,
+ bool discoverable,
+ bool enableSAP,
+ char *btName,
+ struct ns1__btSettingsResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_BT_SETTINGS );
+ msg.AddByte( discoverable );
+ msg.AddByte( enableSAP );
+ msg.AddStringWithLengthByteZero( btName );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__btDeletePairings()
+//**********************************************************************************
+int ns1__btDeletePairings(struct soap* soap,
+ bool closeConnections,
+ char *btName,
+ int &deleteCount)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_BT_DELETE_PAIRINGS );
+ msg.AddByte( closeConnections );
+ msg.AddStringWithLengthByteZero( btName );
+
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ if ( msg.CheckMsgExactLen( 1 ) )
+ return SOAP_FAULT;
+
+ deleteCount = msg.GetByte( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__keyLockToggle()
+//**********************************************************************************
+int ns1__keyLockToggle(struct soap* soap,
+ bool keyLockOn,
+ bool showNote,
+ struct ns1__keyLockToggleResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_KEY_LOCK_TOGGLE );
+ msg.AddByte( keyLockOn );
+ msg.AddByte( showNote );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__autoKeyLockTime()
+//**********************************************************************************
+int ns1__autoKeyLockTime(struct soap* soap,
+ int seconds,
+ struct ns1__autoKeyLockTimeResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_AUTO_KEY_LOCK_TIME );
+ msg.AddWord( seconds );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__emptyDrmRightsDb()
+//**********************************************************************************
+int ns1__emptyDrmRightsDb(struct soap* soap,
+ void *_,
+ struct ns1__emptyDrmRightsDbResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_EMPTY_DRM_RIGHTS_DB );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__batteryStatus()
+//**********************************************************************************
+int ns1__batteryStatus(struct soap* soap,
+ void *_,
+ struct batteryStatusResponse& r)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_BATTERY_STATUS );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ if ( msg.CheckMsgExactLen( 2 ) )
+ return SOAP_FAULT;
+
+ r._returnHtiBatteryStatus.batteryBars = msg.GetByte( 0 );
+ r._returnHtiBatteryStatus.chargingStatus = msg.GetByte( 1 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__signalStrength()
+//**********************************************************************************
+int ns1__signalStrength(struct soap* soap,
+ void *_,
+ int &signalBars)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_SIGNAL_STRENGTH );
+ if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
+ return SOAP_FAULT;
+
+ if ( msg.CheckMsgExactLen( 1 ) )
+ return SOAP_FAULT;
+
+ signalBars = msg.GetByte( 0 );
+
+ return SOAP_OK;
+}
+
+//**********************************************************************************
+// ns1__updateMediaGallery()
+//**********************************************************************************
+int ns1__updateMediaGallery(struct soap* soap,
+ char* filePath,
+ struct ns1__updateMediaGalleryResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_UPDATE_MEDIA_GALLERY );
+ msg.AddStringWithLengthByteZero( filePath );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_30_SECONDS );
+}
+
+//**********************************************************************************
+// ns1__activateSkin()
+//**********************************************************************************
+int ns1__activateSkin(struct soap* soap,
+ char* skinName,
+ struct ns1__activateSkinResponse *out)
+{
+ HtiMsgHelper msg( soap, HTI_SYSINFO_UID, CMD_ACTIVATE_SKIN );
+ msg.AddStringWithLengthByteZero( skinName );
+ return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
+}