--- a/hti/PC_Tools/HTIGateway/ServicePlugins/HtiScreenshot/HtiScreenshot.cpp Mon Jun 28 15:36:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,665 +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 "HtiScreenshotH.h"
-
-#include "hticommon.h"
-#include "HtiPlugin.h"
-#include <string.h>
-
-#include "HtiSoapHandlerInterface.h"
-
-// Command codes
-const unsigned char CMD_SCR_FULL = 0x01;
-const unsigned char CMD_SCR_REGION = 0x02;
-const unsigned char CMD_SCR_FULL_ZIP = 0x03;
-const unsigned char CMD_SCR_REGION_ZIP = 0x04;
-
-const unsigned char CMD_TEXT_RCG_U = 0x11;
-const unsigned char CMD_TEXT_IMG_U = 0x13;
-
-const unsigned char CMD_SCR_FULL_SERIES = 0x21;
-const unsigned char CMD_SCR_REGION_SERIES = 0x22;
-const unsigned char CMD_SCR_FULL_ZIP_SERIES = 0x23;
-const unsigned char CMD_SCR_REGION_ZIP_SERIES = 0x24;
-
-const unsigned char CMD_CHANGE_SCREEN = 0x30;
-
-const unsigned char CMD_SCREEN_MODE = 0x3A;
-
-const unsigned char CMD_DELTA_SCR_FULL = 0x81;
-const unsigned char CMD_DELTA_SCR_REGION = 0x82;
-const unsigned char CMD_DELTA_SCR_FULL_ZIP = 0x83;
-const unsigned char CMD_DELTA_SCR_REGION_ZIP = 0x84;
-const unsigned char CMD_DELTA_SCR_RESET = 0x85;
-const unsigned char CMD_DELTA_SCR_FULL_SERIES = 0xA1;
-const unsigned char CMD_DELTA_SCR_REGION_SERIES = 0xA2;
-const unsigned char CMD_DELTA_SCR_FULL_ZIP_SERIES = 0xA3;
-const unsigned char CMD_DELTA_SCR_REGION_ZIP_SERIES = 0xA4;
-
-
-const unsigned char HTI_FONT_BOLD = 0x01;
-const unsigned char HTI_FONT_ITALIC = 0x02;
-const unsigned char HTI_FONT_NOTAA = 0x04;
-const unsigned char HTI_FONT_SUPER = 0x08;
-const unsigned char HTI_FONT_SUB = 0x18;
-
-const unsigned char TXT_RCG_OK = 0xF0;
-const unsigned char TXT_RCG_NOK = 0xF1;
-
-const int MAX_HREF_LEN = 128;
-
-char zipMimeType[] = "application/octet-stream"; //??
-
-const static int g_ScreenHtiTimeoutImage = 120000;
-const static int g_ScreenHtiTimeoutRecongition = 60000;
-
-//**********************************************************************************
-// HELPER FUNCTIONS
-//
-//**********************************************************************************
-//**********************************************************************************
-// AddHtiFont
-//**********************************************************************************
-void AddHtiFont(HtiMsgHelper &msg, struct ns1__HtiFont &font)
-{
- msg.AddWCStringWithLengthByte( font.fontName );
- msg.AddWord( font.fontHeight );
-
- BYTE fontStyle = 0x0;
-
- // These can be combined
- if( font.isBold )
- fontStyle |= HTI_FONT_BOLD;
- if( font.isItalic )
- fontStyle |= HTI_FONT_ITALIC;
- if( font.isNotAntialiased )
- fontStyle |= HTI_FONT_NOTAA;
-
- // And these cannot
- if( font.position == 1 )
- fontStyle |= HTI_FONT_SUPER;
- else if( font.position == 2 )
- fontStyle |= HTI_FONT_SUB;
-
- msg.AddByte( fontStyle );
-}
-
-//**********************************************************************************
-// GetHref
-//**********************************************************************************
-void GetHref(char* str, const unsigned char cmd)
-{
- sprintf(str, "htiSs%x%d", cmd, clock() );
-}
-
-//**********************************************************************************
-// SetScreenCaptureAttachment
-//**********************************************************************************
-int SetScreenCaptureAttachment(struct soap* soap,
- BYTE* data,
- int dataSize,
- BYTE command,
- char* mimeType,
- struct ns1__captureScreenResponse &r)
-{
- // alloc soap memory for attachment
- char* soapAttachment = (char*)soap_malloc(soap, dataSize );
- memcpy( soapAttachment, data, dataSize );
-
- // get & set href for attachment
- char href[MAX_HREF_LEN];
- GetHref(href, command);
- r._returnAttachment.href = (char*)soap_malloc(soap, strlen(href)+1 );
- strcpy( r._returnAttachment.href, href );
-
- // default mimetype is bmp
- if ( !( mimeType ? strlen( mimeType ) : 0 ) )
- mimeType = "image/bmp";
-
- // set mimetype
- r._returnAttachment.mimeType = (char*)soap_malloc(soap, strlen(mimeType)+1 );
- strcpy( r._returnAttachment.mimeType, mimeType );
-
- // set the attahcment
- soap_set_dime(soap);
- return soap_set_dime_attachment(soap, soapAttachment, dataSize,
- mimeType, href, 0, NULL);
-}
-
-//**********************************************************************************
-// SetDeltaScreenCaptureAttachment
-//**********************************************************************************
-int SetDeltaScreenCaptureAttachment(struct soap* soap,
- BYTE* data,
- int dataSize,
- BYTE command,
- char* mimeType,
- struct ns1__captureDeltaScreenResponse &r)
-{
- // Set rectangle
- r._returnDeltaAttachment.rect.topLeftX = *(WORD*)data; data+=2;
- r._returnDeltaAttachment.rect.topLeftY = *(WORD*)data; data+=2;
- r._returnDeltaAttachment.rect.bottomRightX = *(WORD*)data; data+=2;
- r._returnDeltaAttachment.rect.bottomRightY = *(WORD*)data; data+=2;
- dataSize -= 2*4;
-
- // No attachment?
- if ( dataSize == 0 )
- return SOAP_OK;
-
- // alloc soap memory for attachment
- char* soapAttachment = (char*)soap_malloc(soap, dataSize );
- memcpy( soapAttachment, data, dataSize );
-
- // get & set href for attachment
- char href[MAX_HREF_LEN];
- GetHref(href, command);
- r._returnDeltaAttachment.href = (char*)soap_malloc(soap, strlen(href)+1 );
- strcpy( r._returnDeltaAttachment.href, href );
-
- // default mimetype is bmp
- if ( !( mimeType ? strlen( mimeType ) : 0 ) )
- mimeType = "image/bmp";
-
- // set mimetype
- r._returnDeltaAttachment.mimeType = (char*)soap_malloc(soap, strlen(mimeType)+1 );
- strcpy( r._returnDeltaAttachment.mimeType, mimeType );
-
- // set the attahcment
- soap_set_dime(soap);
- return soap_set_dime_attachment(soap, soapAttachment, dataSize,
- mimeType, href, 0, NULL);
-}
-
-//**********************************************************************************
-// GetSerieShotFiles
-//**********************************************************************************
-int GetSerieShotFiles(struct soap* soap,
- HtiMsgHelper &msg,
- struct ArrayOfFiles *files )
-{
- // list of screenshot files is returned
- char** tmp_array_ptr = NULL;
- int i = 0;
- files->__size = 0;
- while( i < msg.GetMsgLen() )
- {
- int fileNameLen = msg.GetMsgBody()[i++];
- tmp_array_ptr = (char**) realloc(tmp_array_ptr,
- (files->__size+1)*sizeof(char**));
- tmp_array_ptr[files->__size++] = msg.GetSoapString( i, fileNameLen );
- i += fileNameLen;
- }
-
- if ( files->__size == 0 )
- {
- soap->error = soap_receiver_fault( soap, "HtiError",
- "No screenshot files returned");
- return SOAP_FAULT;
- }
-
- // alloc (soap) space for pointers & copy data from tmp_array_ptr
- files->__ptr = (char**) soap_malloc(soap, sizeof(char**)*files->__size);
- memcpy(files->__ptr, tmp_array_ptr, sizeof(char**)*files->__size);
- free(tmp_array_ptr);
- return SOAP_OK;
-}
-
-//**********************************************************************************
-// SOAP FUNCTIONS
-//
-//**********************************************************************************
-
-//**********************************************************************************
-// ns1__captureFullScreen
-//**********************************************************************************
-int ns1__captureFullScreen(struct soap* soap,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_FULL );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_SCR_FULL, imageMimeType ,r );
-}
-
-//**********************************************************************************
-// ns1__captureFullScreenZip
-//**********************************************************************************
-int ns1__captureFullScreenZip(struct soap* soap,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_FULL_ZIP );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_SCR_FULL_ZIP, zipMimeType ,r );
-}
-
-//**********************************************************************************
-// ns1__captureRegion
-//**********************************************************************************
-int ns1__captureRegion(struct soap* soap,
- struct ns1__HtiRect rect,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_REGION );
- msg.AddWord( rect.topLeftX );
- msg.AddWord( rect.topLeftY );
- msg.AddWord( rect.bottomRightX );
- msg.AddWord( rect.bottomRightY );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_SCR_REGION, imageMimeType ,r );
-}
-
-//**********************************************************************************
-// ns1__captureRegionZip
-//**********************************************************************************
-int ns1__captureRegionZip(struct soap* soap,
- struct ns1__HtiRect rect,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_REGION_ZIP );
- msg.AddWord( rect.topLeftX );
- msg.AddWord( rect.topLeftY );
- msg.AddWord( rect.bottomRightX );
- msg.AddWord( rect.bottomRightY );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_SCR_REGION_ZIP, zipMimeType ,r );
-}
-
-//**********************************************************************************
-// ns1__recognizeText
-//**********************************************************************************
-int ns1__recognizeText(struct soap* soap,
- wchar_t *text,
- struct ArrayOfHtiFonts* array,
- struct ns1__recognizeTextResponse &r)
-{
- // check text parameter
- if ( check_mandatory_wcstring_parameter( soap, text, "text" ) )
- return SOAP_FAULT;
- else if ( wcslen( text ) > 0xff )
- {
- soap->error = soap_sender_fault(soap, "HtiGateway", "Text too long");
- return SOAP_FAULT;
- }
-
- // check array parameter
- if ( array == NULL )
- {
- soap->error = soap_sender_fault( soap, "HtiGateway",
- "No font array parameter" );
- return SOAP_FAULT;
- }
- else if ( array->__size < 0 )
- {
- soap->error = soap_sender_fault( soap, "HtiGateway", "Font array empty" );
- return SOAP_FAULT;
- }
- else if ( array->__size > 0xff )
- {
- soap->error = soap_sender_fault( soap, "HtiGateway", "Too many fonts" );
- return SOAP_FAULT;
- }
- for ( int i = 0; i < array->__size; i++ )
- {
- char tmp[20];
- sprintf(tmp, "HtiFont[%d]", i);
- if ( check_mandatory_wcstring_parameter( soap,
- array->__ptrHtiFont[i].fontName, tmp ) )
- return SOAP_FAULT;
- }
-
- // construct and send the message
- HtiMsgHelper msg( soap, HTI_UID, CMD_TEXT_RCG_U );
- msg.AddWCStringWithLengthByte( text );
- msg.AddByte( array->__size );
- for( int i = 0; i < array->__size; i++ )
- AddHtiFont( msg, array->__ptrHtiFont[i] );
-
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutRecongition ) )
- return SOAP_FAULT;
-
- // Check response
- if ( msg.CheckMsgExactLen( 6 ) )
- return SOAP_FAULT;
-
- switch( msg.GetByte(0) )
- {
- case TXT_RCG_OK:
- r._returnText.found = true;
- r._returnText.x = msg.GetWord( 1 );
- r._returnText.y = msg.GetWord( 3 );
- r._returnText.fontIndex = msg.GetByte( 5 );
- break;
-
- case TXT_RCG_NOK:
- r._returnText.found = false;
- break;
-
- default:
- soap->error = soap_receiver_fault_format(soap, "HtiError",
- "Invalid response command code 0x%x", msg.GetByte(0) );
- return SOAP_FAULT;
- }
-
- return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__createTextImage
-//**********************************************************************************
-int ns1__createTextImage(struct soap* soap,
- unsigned char colorDepth,
- char *imageMimeType,
- wchar_t *text,
- struct ns1__HtiFont* font,
- struct ns1__HtiRGB fgColor,
- struct ns1__HtiRGB bgColor,
- struct ns1__captureScreenResponse &r)
-{
- // check text & imageMimeType parameters
- if ( check_mandatory_wcstring_parameter( soap, text, "text" ) ||
- check_mandatory_string_parameter( soap, imageMimeType, "imageMimeType" ) )
- return SOAP_FAULT;
- else if ( wcslen( text ) > 0xff )
- {
- soap->error = soap_sender_fault(soap, "HtiGateway", "Text too long");
- return SOAP_FAULT;
- }
-
- // check font parameter
- if ( font == NULL )
- {
- soap->error = soap_sender_fault( soap, "HtiGateway", "No font parameter" );
- return SOAP_FAULT;
- }
- if ( check_mandatory_wcstring_parameter( soap, font->fontName, "fontName" ) )
- return SOAP_FAULT;
-
- // construct and send the message
- HtiMsgHelper msg( soap, HTI_UID, CMD_TEXT_IMG_U );
- msg.AddByte( colorDepth );
- msg.AddStringWithLengthByte( imageMimeType );
- msg.AddWCStringWithLengthByte( text );
- AddHtiFont( msg, *font );
- msg.AddByte( fgColor.red ); // note little endian encoding
- msg.AddByte( fgColor.green );
- msg.AddByte( fgColor.blue );
- msg.AddByte( 0x00 );
- msg.AddByte( bgColor.red );
- msg.AddByte( bgColor.green );
- msg.AddByte( bgColor.blue );
- msg.AddByte( 0x00 );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- // get response
- return SetScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_TEXT_IMG_U, imageMimeType ,r );
-}
-
-
-
-//**********************************************************************************
-// ns1__captureFullScreenSeries
-//**********************************************************************************
-int ns1__captureFullScreenSeries(struct soap* soap,
- int duration,
- int interval,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ArrayOfFiles *files)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_FULL_SERIES );
- msg.AddInt( duration );
- msg.AddInt( interval );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- int timeout = HTIMSG_TIMEOUT_10_SECONDS + duration/1000; // duration is in us
- if ( msg.SendReceiveMsg( timeout ) )
- return SOAP_FAULT;
-
- return GetSerieShotFiles( soap, msg, files );
-}
-
-//**********************************************************************************
-// ns1__captureFullScreenZipSeries
-//**********************************************************************************
-int ns1__captureFullScreenZipSeries(struct soap* soap,
- int duration,
- int interval,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ArrayOfFiles *files)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_FULL_ZIP_SERIES );
- msg.AddInt( duration );
- msg.AddInt( interval );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- int timeout = HTIMSG_TIMEOUT_10_SECONDS + duration/1000; // duration is in us
- if ( msg.SendReceiveMsg( timeout ) )
- return SOAP_FAULT;
-
- return GetSerieShotFiles( soap, msg, files );
-}
-
-//**********************************************************************************
-// ns1__captureRegionSeries
-//**********************************************************************************
-int ns1__captureRegionSeries(struct soap* soap,
- int duration,
- int interval,
- unsigned char colorDepth,
- struct ns1__HtiRect rect,
- char *imageMimeType,
- struct ArrayOfFiles *files)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_REGION_SERIES );
- msg.AddInt( duration );
- msg.AddInt( interval );
- msg.AddByte( colorDepth );
- msg.AddWord( rect.topLeftX );
- msg.AddWord( rect.topLeftY );
- msg.AddWord( rect.bottomRightX );
- msg.AddWord( rect.bottomRightY );
- msg.AddString( imageMimeType );
- int timeout = HTIMSG_TIMEOUT_10_SECONDS + duration/1000; // duration is in us
- if ( msg.SendReceiveMsg( timeout ) )
- return SOAP_FAULT;
-
- return GetSerieShotFiles( soap, msg, files );
-}
-
-//**********************************************************************************
-// ns1__captureRegionZipSeries
-//**********************************************************************************
-int ns1__captureRegionZipSeries(struct soap* soap,
- int duration,
- int interval,
- unsigned char colorDepth,
- struct ns1__HtiRect rect,
- char *imageMimeType,
- struct ArrayOfFiles *files)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCR_REGION_ZIP_SERIES );
- msg.AddInt( duration );
- msg.AddInt( interval );
- msg.AddByte( colorDepth );
- msg.AddWord( rect.topLeftX );
- msg.AddWord( rect.topLeftY );
- msg.AddWord( rect.bottomRightX );
- msg.AddWord( rect.bottomRightY );
- msg.AddString( imageMimeType );
- int timeout = HTIMSG_TIMEOUT_10_SECONDS + duration/1000; // duration is in us
- if ( msg.SendReceiveMsg( timeout ) )
- return SOAP_FAULT;
-
- return GetSerieShotFiles( soap, msg, files );
-}
-
-//**********************************************************************************
-// ns1__captureDeltaFullScreen
-//**********************************************************************************
-int ns1__captureDeltaFullScreen(struct soap* soap,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureDeltaScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_DELTA_SCR_FULL );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetDeltaScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_DELTA_SCR_FULL, imageMimeType ,r );
-}
-//**********************************************************************************
-// ns1__captureDeltaFullScreenZip
-//**********************************************************************************
-int ns1__captureDeltaFullScreenZip(struct soap* soap,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureDeltaScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_DELTA_SCR_FULL_ZIP );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetDeltaScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_DELTA_SCR_FULL_ZIP, zipMimeType ,r );
-}
-//**********************************************************************************
-// ns1__captureDeltaRegion
-//**********************************************************************************
-int ns1__captureDeltaRegion(struct soap* soap,
- struct ns1__HtiRect rect,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureDeltaScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_DELTA_SCR_REGION );
- msg.AddWord( rect.topLeftX );
- msg.AddWord( rect.topLeftY );
- msg.AddWord( rect.bottomRightX );
- msg.AddWord( rect.bottomRightY );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetDeltaScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_DELTA_SCR_REGION, imageMimeType ,r );
-}
-//**********************************************************************************
-// ns1__captureDeltaRegionZip
-//**********************************************************************************
-int ns1__captureDeltaRegionZip(struct soap* soap,
- struct ns1__HtiRect rect,
- unsigned char colorDepth,
- char *imageMimeType,
- struct ns1__captureDeltaScreenResponse &r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_DELTA_SCR_REGION_ZIP );
- msg.AddWord( rect.topLeftX );
- msg.AddWord( rect.topLeftY );
- msg.AddWord( rect.bottomRightX );
- msg.AddWord( rect.bottomRightY );
- msg.AddByte( colorDepth );
- msg.AddString( imageMimeType );
- if ( msg.SendReceiveMsg( g_ScreenHtiTimeoutImage ) )
- return SOAP_FAULT;
-
- return SetDeltaScreenCaptureAttachment( soap, msg.GetMsgBody(), msg.GetMsgLen(),
- CMD_DELTA_SCR_REGION_ZIP, zipMimeType ,r );
-}
-
-//**********************************************************************************
-// ns1__selectScreen
-//**********************************************************************************
-int ns1__selectScreen(struct soap* soap,
- unsigned char screenNr,
- struct ns1__selectScreenResponse *out)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_CHANGE_SCREEN );
- msg.AddByte( screenNr );
- return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
-}
-
-//**********************************************************************************
-// ns1__resetDeltaScreen
-//**********************************************************************************
-int ns1__resetDeltaScreen(struct soap* soap,
- void *_,
- struct ns1__resetDeltaScreenResponse *out)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_DELTA_SCR_RESET );
- return msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS );
-}
-
-//**********************************************************************************
-// ns1__screenMode
-//**********************************************************************************
-int ns1__screenMode(struct soap* soap,
- void *_,
- struct ns1__screenModeResponse& r)
-{
- HtiMsgHelper msg( soap, HTI_UID, CMD_SCREEN_MODE );
- if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
- return SOAP_FAULT;
-
- // Check response
- if ( msg.CheckMsgExactLen( 8 ) )
- return SOAP_FAULT;
-
- r._returnScreenMode.screenNumber = msg.GetByte( 0 );
- r._returnScreenMode.screenWidth = msg.GetWord( 1 );
- r._returnScreenMode.screenHeight = msg.GetWord( 3 );
- r._returnScreenMode.screenRotation = (ns1__screenOrientation)msg.GetByte( 5 );
- r._returnScreenMode.displayMode = msg.GetByte( 6 );
- r._returnScreenMode.focusScreenNumber = msg.GetByte( 7 );
-
- return SOAP_OK;
-}