hti/PC_Tools/HTIGateway/ServicePlugins/HtiApplication/HtiApplication.cpp
changeset 38 169364e7e4b4
parent 34 7259cf1302ad
child 45 185201be11b0
--- a/hti/PC_Tools/HTIGateway/ServicePlugins/HtiApplication/HtiApplication.cpp	Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,818 +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 "HtiApplicationH.h"
-#include "HtiPlugin.h"
-#include "HtiSoapHandlerInterface.h"
-#include "hticommon.h"
-
-// Application control commands
-// NOTE: Only unicode versions of commands are used.
-//const int CMD_HTI_START_PROCESS         = 0x02;
-const int CMD_HTI_START_PROCESS_U         = 0x03;
-//const int CMD_HTI_STATUS_PROCESS        = 0x04;
-const int CMD_HTI_STATUS_PROCESS_U        = 0x05;
-const int CMD_HTI_STATUS_PROCESSID        = 0x06;
-const int CMD_HTI_START_PROCESS_RET_VAL_U = 0x07;
-//const int CMD_HTI_STOP_PROCESS          = 0x08;
-const int CMD_HTI_STOP_PROCESS_U          = 0x09;
-const int CMD_HTI_STOP_PROCESSID          = 0x0A;
-const int CMD_HTI_GET_PROCESS_EXIT_CODE   = 0x0B;
-//const int CMD_HTI_LIST_PROCESSES        = 0x0C;
-const int CMD_HTI_LIST_PROCESSES_U        = 0x0D;
-//const int CMD_HTI_START_PROCESS_RET_VAL = 0x0E;
-//const int CMD_HTI_START_APP             = 0x10;
-const int CMD_HTI_START_APP_U             = 0x11;
-//const int CMD_HTI_START_APP_UID         = 0x12;
-const int CMD_HTI_START_APP_UID_U         = 0x13;
-//const int CMD_HTI_START_DOC             = 0x14;
-const int CMD_HTI_START_DOC_U             = 0x15;
-//const int CMD_HTI_STATUS_APP            = 0x16;
-const int CMD_HTI_STATUS_APP_U            = 0x17;
-//const int CMD_HTI_STATUS_DOC            = 0x18;
-const int CMD_HTI_STATUS_DOC_U            = 0x19;
-const int CMD_HTI_STATUS_APP_UID          = 0x1A;
-//const int CMD_HTI_STOP_APP              = 0x1C;
-const int CMD_HTI_STOP_APP_U              = 0x1D;
-//const int CMD_HTI_STOP_DOC              = 0x1E;
-const int CMD_HTI_STOP_DOC_U              = 0x1F;
-const int CMD_HTI_STOP_APP_UID            = 0x20;
-//const int CMD_HTI_LIST_APPS               = 0x24;
-const int CMD_HTI_LIST_APPS_U             = 0x25;
-
-// Application install commands
-//const int CMD_HTI_INSTALL_SOFTWARE        = 0x30;
-const int CMD_HTI_INSTALL_SOFTWARE_U        = 0x31;
-const int CMD_HTI_UNINSTALL_SOFTWARE        = 0x32;
-const int CMD_HTI_UNINSTALL_SOFTWARE_NAME_U = 0x33;
-//const int CMD_HTI_UNINSTALL_SOFTWARE_NAME   = 0x34;
-
-// Application control response codes
-const int CMD_RESP_OK               = 0xF0;
-const int CMD_RESP_NOT_FOUND        = 0xF1;
-const int CMD_RESP_ALREADY_RUNNING  = 0xF2;
-const int CMD_RESP_ALREADY_STOPPED  = 0xF3;
-const int CMD_RESP_RUNNING          = 0xF4;
-const int CMD_RESP_KILLED           = 0xF5;
-const int CMD_RESP_PANIC            = 0xF6;
-
-//**********************************************************************************
-// HELPER FUNCTIONS
-//
-//**********************************************************************************
-
-//**********************************************************************************
-// ResponseCode2String
-//**********************************************************************************
-char* ResponseCode2String(struct soap* soap, BYTE code)
-{
-    char tmp[50]; // 50 should be more than enough
-
-    switch(code)
-    {
-    case CMD_RESP_OK:               sprintf(tmp, "ok"); break;
-    case CMD_RESP_NOT_FOUND:        sprintf(tmp, "not found"); break;
-    case CMD_RESP_ALREADY_RUNNING:  sprintf(tmp, "already running"); break;
-    case CMD_RESP_ALREADY_STOPPED:  sprintf(tmp, "already stopped"); break;
-    case CMD_RESP_RUNNING:          sprintf(tmp, "running"); break;
-    case CMD_RESP_KILLED:           sprintf(tmp, "killed"); break;
-    case CMD_RESP_PANIC:            sprintf(tmp, "panic"); break;
-    default:                        sprintf(tmp, "unknown response code 0x%02x", code);
-    }
-
-    char* text = (char*) soap_malloc(soap, strlen(tmp)+1); // +1 is for null character
-    memcpy(text, tmp, strlen(tmp)+1);
-    return text;
-}
-
-//**********************************************************************************
-// ExitTypeCode2String
-//**********************************************************************************
-char* ExitTypeCode2String(struct soap* soap, BYTE code)
-{
-    char tmp[50]; // 50 should be more than enough
-
-    switch(code)
-    {
-    case 0:  sprintf(tmp, "killed"); break;
-    case 1:  sprintf(tmp, "terminated"); break;
-    case 2:  sprintf(tmp, "panic"); break;
-    case 3:  sprintf(tmp, "running"); break;
-    default: sprintf(tmp, "unknown exit type code 0x%02x", code);
-    }
-
-    char* text = (char*) soap_malloc(soap, strlen(tmp)+1); // +1 is for null character
-    memcpy(text, tmp, strlen(tmp)+1);
-    return text;
-}
-
-//**********************************************************************************
-// SOAP FUNCTIONS
-//
-//**********************************************************************************
-//**********************************************************************************
-// ns1__startProcess()
-//**********************************************************************************
-int ns1__startProcess(struct soap* soap,
-                      wchar_t *fileName,
-                      wchar_t *args,
-                      struct startProcessResponse &r)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, fileName, "fileName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_START_PROCESS_U );
-    msg.AddWCStringWithLengthByte( fileName );
-    msg.AddWCStringWithLengthByte( args );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_30_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 1 ) )
-        return SOAP_FAULT;
-
-    r._returnstartProcessResult.status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    if( msg.GetByte( 0 ) == CMD_RESP_OK )
-    {
-        // pid only returned if found
-        if ( msg.CheckMsgExactLen( 5 ) )
-            return SOAP_FAULT;
-        r._returnstartProcessResult.pid = msg.GetInt(1);
-    }
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__stopProcess()
-//**********************************************************************************
-int ns1__stopProcess(struct soap* soap,
-                     wchar_t *matchPattern,
-                     char *&result)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, matchPattern, "matchPattern" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STOP_PROCESS_U );
-    msg.AddWCStringWithLengthByte( matchPattern );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    result = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__stopProcessById()
-//**********************************************************************************
-int ns1__stopProcessById(struct soap* soap,
-                         int pid,
-                         char *&result)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STOP_PROCESSID );
-    msg.AddInt( pid );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    result = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__getProcessStatus()
-//**********************************************************************************
-int ns1__getProcessStatus(struct soap* soap,
-                          wchar_t *matchPattern,
-                          char* &status)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, matchPattern, "matchPattern" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STATUS_PROCESS_U );
-    msg.AddWCStringWithLengthByte( matchPattern );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__getProcessStatusById()
-//**********************************************************************************
-int ns1__getProcessStatusById(struct soap* soap,
-                              int pid,
-                              char* &status)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STATUS_PROCESSID );
-    msg.AddInt( pid );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__startApp()
-//**********************************************************************************
-int ns1__startApp(struct soap* soap,
-                  wchar_t *appName,
-                  wchar_t *docName,
-                  struct startAppResponse &r)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, appName, "appName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_START_APP_U );
-    msg.AddWCStringWithLengthByte( appName );
-    msg.AddWCStringWithLengthByte( docName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 1 ) )
-        return SOAP_FAULT;
-
-    r._returnstartAppResult.status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    if( msg.GetByte( 0 ) == CMD_RESP_OK )
-    {
-        // threadId only returned if found
-        if ( msg.CheckMsgExactLen( 5 ) )
-            return SOAP_FAULT;
-        r._returnstartAppResult.threadId = msg.GetInt(1);
-    }
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__startAppByUid()
-//**********************************************************************************
-int ns1__startAppByUid(struct soap* soap,
-                       int uid,
-                       wchar_t *docName,
-                       struct startAppByUidResponse &r)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_START_APP_UID_U );
-    msg.AddInt( uid );
-    msg.AddWCStringWithLengthByte( docName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 1 ) )
-        return SOAP_FAULT;
-
-    r._returnstartAppByUidResult.status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    if( msg.GetByte( 0 ) == CMD_RESP_OK )
-    {
-        // threadId only returned if found
-        if ( msg.CheckMsgExactLen( 5 ) )
-            return SOAP_FAULT;
-        r._returnstartAppByUidResult.threadId = msg.GetInt(1);
-    }
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__startDoc()
-//**********************************************************************************
-int ns1__startDoc(struct soap* soap,
-                  wchar_t *docName,
-                  struct startDocResponse &r)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, docName, "docName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_START_DOC_U );
-    msg.AddWCStringWithLengthByte( docName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 1 ) )
-        return SOAP_FAULT;
-
-    r._returnstartDocResult.status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    if( msg.GetByte( 0 ) == CMD_RESP_OK )
-    {
-        // threadId only returned if found
-        if ( msg.CheckMsgExactLen( 5 ) )
-            return SOAP_FAULT;
-        r._returnstartDocResult.threadId = msg.GetInt(1);
-    }
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__getAppStatus()
-//**********************************************************************************
-int ns1__getAppStatus(struct soap* soap,
-                      wchar_t *appName,
-                      char* &status)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, appName, "appName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STATUS_APP_U );
-    msg.AddWCStringWithLengthByte( appName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__getAppStatusByUid()
-//**********************************************************************************
-int ns1__getAppStatusByUid(struct soap* soap,
-                           int uid,
-                           char* &status)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STATUS_APP_UID );
-    msg.AddInt( uid );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__getAppStatusByDoc()
-//**********************************************************************************
-int ns1__getAppStatusByDoc(struct soap* soap,
-                           wchar_t *docName,
-                           char* &status)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, docName, "docName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STATUS_DOC_U );
-    msg.AddWCStringWithLengthByte( docName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__stopApp()
-//**********************************************************************************
-int ns1__stopApp(struct soap* soap,
-                 wchar_t *appName,
-                 char *&result)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, appName, "appName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STOP_APP_U );
-    msg.AddWCStringWithLengthByte( appName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    result = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__stopAppByUid()
-//**********************************************************************************
-int ns1__stopAppByUid(struct soap* soap,
-                      int uid,
-                      char *&result)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STOP_APP_UID );
-    msg.AddInt( uid );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    result = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__stopAppByDoc()
-//**********************************************************************************
-int ns1__stopAppByDoc(struct soap* soap,
-                      wchar_t *docName,
-                      char *&result)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, docName, "docName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_STOP_DOC_U );
-    msg.AddWCStringWithLengthByte( docName );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) )
-        return SOAP_FAULT;
-
-    result = ResponseCode2String( soap, msg.GetByte(0) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__listProcesses()
-//**********************************************************************************
-int ns1__listProcesses(struct soap* soap,
-                       wchar_t *matchPattern,
-                       ArrayOfHtiProcess *HtiProcesses)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_LIST_PROCESSES_U );
-    msg.AddWCStringWithLengthByte( matchPattern );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 1 ) )
-        return SOAP_FAULT;
-
-    if(msg.GetByte(0) != CMD_RESP_OK)
-    {
-        // This sould happen only if message is corrupted somehow...
-        soap->error = soap_receiver_fault_format(soap, "HtiError",
-            "response code error (0x%x)", msg.GetByte(0));
-        return SOAP_FAULT;
-    }
-
-    // Fill & alloc soap stuff
-    HtiProcesses->__size = (int) msg.GetWord(1);
-    HtiProcesses->__ptr = soap_new_ns1__HtiProcess(soap, HtiProcesses->__size);
-
-    // Go through processes
-    int offset = 3;
-    ns1__HtiProcess *process = HtiProcesses->__ptr;
-    for(int i = 0; i < HtiProcesses->__size; i++)
-    {
-        process->processId = msg.GetInt(offset);//pid;
-        process->processStatus = ResponseCode2String(soap, msg.GetByte(offset+4));
-
-        // Get processname
-        char* tmp = (char*) msg.GetMsgBody();
-        tmp += offset+6;
-        int processNameLen = msg.GetByte(offset+5);
-        process->processName = (char*) soap_malloc(soap, processNameLen+1);
-        memcpy(process->processName, tmp, processNameLen);
-        process->processName[processNameLen] = 0x0; //  add null
-
-        // for the next iteration
-        offset += 4+1+1+processNameLen;
-        process++;
-    }
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__startProcessRetVal()
-//**********************************************************************************
-int ns1__startProcessRetVal(struct soap* soap,
-                            wchar_t *fileName,
-                            wchar_t *args,
-                            struct startProcessResponse &r)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter( soap, fileName, "fileName" ) )
-        return SOAP_FAULT;
-
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_START_PROCESS_RET_VAL_U );
-    msg.AddWCStringWithLengthByte( fileName );
-    msg.AddWCStringWithLengthByte( args );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_30_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 1 ) )
-        return SOAP_FAULT;
-
-    r._returnstartProcessResult.status = ResponseCode2String( soap, msg.GetByte(0) );
-
-    if( msg.GetByte( 0 ) == CMD_RESP_OK )
-    {
-        // pid only returned if found
-        if ( msg.CheckMsgExactLen( 5 ) )
-            return SOAP_FAULT;
-        r._returnstartProcessResult.pid = msg.GetInt(1);
-    }
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__getProcessExitCode()
-//**********************************************************************************
-int ns1__getProcessExitCode(struct soap* soap,
-                            int pid,
-                            struct getProcessExitCodeResponse &r)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_GET_PROCESS_EXIT_CODE );
-    msg.AddInt( pid );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 7 ) )
-        return SOAP_FAULT;
-    if ( msg.GetByte( 0 ) != CMD_RESP_OK )
-        return SOAP_FAULT;
-
-    r._returngetProcessExitCodeResult.exitType = ExitTypeCode2String( soap, msg.GetByte( 1 ) );
-    r._returngetProcessExitCodeResult.exitReason = msg.GetInt( 2 );
-    r._returngetProcessExitCodeResult.exitCategory = msg.GetSoapString( 7, (int) msg.GetByte( 6 ) );
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__installSoftware()
-//**********************************************************************************
-int ns1__installSoftware(struct soap* soap,
-                         wchar_t *installPackagePath,
-                         bool upgrade,
-                         bool optionalItems,
-                         bool ocsp,
-                         bool ignoreOCSPWarnings,
-                         bool installUntrusted,
-                         bool allowPackageInfo,
-                         bool grantUserCapabilities,
-                         bool killApp,
-                         bool overwrite,
-                         bool download,
-                         wchar_t *username,
-                         wchar_t *password,
-                         char *drive,
-                         unsigned char language,
-                         bool usePhoneLanguage,
-                         bool upgradeData,
-                         struct ns1__installSoftwareResponse *out)
-{
-    // Check parameters
-    if ( check_mandatory_wcstring_parameter(
-             soap, installPackagePath, "installPackagePath" ) )
-        return SOAP_FAULT;
-    if ( check_mandatory_string_parameter( soap, drive, "drive" ) )
-        return SOAP_FAULT;
-
-    // Construct HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_INSTALL_SOFTWARE_U );
-    msg.AddWCStringWithLengthByte( installPackagePath );
-    msg.AddByte( upgrade );
-    msg.AddByte( optionalItems );
-    msg.AddByte( ocsp );
-    msg.AddByte( ignoreOCSPWarnings );
-    msg.AddByte( installUntrusted );
-    msg.AddByte( allowPackageInfo );
-    msg.AddByte( grantUserCapabilities );
-    msg.AddByte( killApp );
-    msg.AddByte( overwrite );
-    msg.AddByte( download );
-    msg.AddWCStringWithLengthByteZero( username );
-    msg.AddWCStringWithLengthByteZero( password );
-    msg.AddString( drive );
-    msg.AddByte( language );
-    msg.AddByte( usePhoneLanguage );
-    msg.AddByte( upgradeData );
-
-    // Send message
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_60_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) != SOAP_OK )
-        return SOAP_FAULT;
-    if ( msg.GetByte( 0 ) != CMD_RESP_OK )
-        return SOAP_FAULT;
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__uninstallSoftware()
-//**********************************************************************************
-int ns1__uninstallSoftware(struct soap* soap,
-                           int uid,
-                           bool killApp,
-                           bool breakDependency,
-                           enum ns1__mimeType  mimeType,
-                           struct ns1__uninstallSoftwareResponse *out)
-{
-    // Construct HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_UNINSTALL_SOFTWARE );
-    msg.AddInt( uid );
-    msg.AddByte( killApp );
-    msg.AddByte( breakDependency );
-    msg.AddByte( mimeType );
-
-    // Send message
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_60_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) != SOAP_OK )
-        return SOAP_FAULT;
-    if ( msg.GetByte( 0 ) != CMD_RESP_OK )
-        return SOAP_FAULT;
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__uninstallSoftwareByName()
-//**********************************************************************************
-int ns1__uninstallSoftwareByName(struct soap* soap,
-                                 wchar_t *packageName,
-                                 bool killApp,
-                                 bool breakDependency,
-                                 enum ns1__mimeType  mimeType,
-                                 struct ns1__uninstallSoftwareByNameResponse *out)
-{
-    if ( check_mandatory_wcstring_parameter(
-             soap, packageName, "packageName" ) )
-        return SOAP_FAULT;
-
-    // Construct HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_UNINSTALL_SOFTWARE_NAME_U );
-    msg.AddWCStringWithLengthByte( packageName );
-    msg.AddByte( killApp );
-    msg.AddByte( breakDependency );
-    msg.AddByte( mimeType );
-
-    // Send message
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_60_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgExactLen( 1 ) != SOAP_OK )
-        return SOAP_FAULT;
-    if ( msg.GetByte( 0 ) != CMD_RESP_OK )
-        return SOAP_FAULT;
-
-    return SOAP_OK;
-}
-
-//**********************************************************************************
-// ns1__listRunningApps()
-//**********************************************************************************
-int ns1__listRunningApps(struct soap* soap,
-                         bool includeHidden,
-                         bool includeSystem,
-                         ArrayOfHtiRunningApp *htiApps)
-{
-    // Construct & send HTI message
-    HtiMsgHelper msg( soap, HTI_APPLICATION_UID, CMD_HTI_LIST_APPS_U );
-    msg.AddByte( includeHidden );
-    msg.AddByte( includeSystem );
-    if ( msg.SendReceiveMsg( HTIMSG_TIMEOUT_10_SECONDS ) )
-        return SOAP_FAULT;
-
-    // Check response
-    if ( msg.CheckMsgMinLen( 3 ) )
-        return SOAP_FAULT;
-
-    if ( msg.GetByte(0) != CMD_RESP_OK )
-    {
-        // This sould happen only if message is corrupted somehow...
-        soap->error = soap_receiver_fault_format(soap, "HtiError",
-            "response code error (0x%x)", msg.GetByte(0));
-        return SOAP_FAULT;
-    }
-
-    // Fill & alloc soap stuff
-    htiApps->__size = (int) msg.GetWord( 1 );
-    htiApps->__ptr = soap_new_ns1__HtiRunningApp( soap, htiApps->__size );
-
-    // Go through apps
-    int offset = 3;
-    ns1__HtiRunningApp *app = htiApps->__ptr;
-    for ( int i = 0; i < htiApps->__size; i++ )
-    {
-        // App UID
-        app->uid = msg.GetInt( offset );
-        offset += 4;
-
-        // Caption
-        int captionLen = msg.GetByte( offset );
-        offset++;
-        app->caption = msg.GetSoapWCString( offset, captionLen );
-        offset += captionLen * 2;
-
-        // Document name
-        int docLen = msg.GetByte( offset );
-        offset++;
-        app->document = msg.GetSoapWCString( offset, docLen );
-        offset += docLen * 2;
-
-        // Flags
-        app->hidden = msg.GetByte( offset );
-        offset++;
-        app->system = msg.GetByte( offset );
-        offset++;
-        app->ready = msg.GetByte( offset );
-        offset++;
-        app->busy = msg.GetByte( offset );
-        offset++;
-        app->closable = msg.GetByte( offset );
-        offset++;   
-
-        // Advance the array pointer for the next iteration
-        app++;
-    }
-
-    return SOAP_OK;
-}
\ No newline at end of file