--- a/hti/PC_Tools/HTIGateway/HtiGateway/inc/SOAPHandler.h Thu Jul 15 20:25:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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:
-* This file contains header of SOAPHandler class
-*/
-
-#ifndef __SOAP__HANDLER_H_
-#define __SOAP__HANDLER_H_
-
-#include "thread.h"
-#include "HtiSoapHandlerInterface.h"
-#include "HtiPluginDll.h"
-
-#include <string>
-
-using namespace std;
-
-#define LOOP_WAIT_INTERVAL INFINITE //in ms
-#define LOOP_CHECK_INTERVAL 100 //in ms
-
-//forward decl.
-class HtiDispatcher;
-class HtiMessage;
-
-//**********************************************************************************
-// Class SOAPHandler
-//
-// This class is used to handle SOAP requests, send HtiMessages
-// and handle HTI responses by using loaded HtiPluginDll
-//**********************************************************************************
-class SoapHandler: public Thread<SoapHandler>, public HtiSoapHandlerInterface
-{
-public:
- SoapHandler(const string& pluginName);
- virtual ~SoapHandler();
-
- inline void SetDispatcher( HtiDispatcher* dispatcher);
-
- /**
- * This method is used to init HtiPluginDll
- */
- bool LoadPlugin();
-
- inline char* soapAction(){return m_HtiPlugin->soapActionName();};
- inline int serviceUID(){return m_HtiPlugin->serviceUID();};
-
- /**
- * Just a wrapper around soap_serve() created by gSOAP
- * called by DataGatewaySOAPServerThread for a new SOAP request
- * return true if request can be processed
- */
- bool ServeSoap(struct soap* soapEnv);
-
- /**
- * Actual SOAP request processing in the thread
- * if it was accepted in ServeSoap()
- * The request is processed using HtiPluginDll
- */
- void DoServeSoap();
-
- /**
- * This method tells whether or not this handler is currently busy processing request
- */
- bool IsBusyForSoapRequest();
-
- /**
- * This method tells whether or not this handler is currently busy processing hti message
- */
- bool IsBusyForHtiMessage();
-
- /*
- * This method is used to check if SoapHandler is currently waiting for Hti Message
- */
- bool IsWaitsForHtiMessage();
-
- /**
- * Notification function called when handler receive
- * new HTI message from Symbian side
- */
- void ProcessHtiResponse();
-
- /**
- * This loop waits until either a SOAP request or HTI response event has arrived
- * When one of them arrives, it is handled and the loop starts again to wait
- * for a new request or response
- */
- void Run();
- void Stop();
-
- /**
- * wait for hti message
- * Suspend thread until HtiMessage for the loaded plug-in is received
- * Return true if hti message is received or false if timeout
- */
- bool WaitForHtiMessage( DWORD timeout );
- inline bool WaitForHtiMessage( ){return WaitForHtiMessage( INFINITE );};
-
- int ReceivedHtiMessageBodySize();
- void* ReceivedHtiMessageBody();
-
- /*
- * HtiPluginDll's call this method
- * It creates a HtiMessage of the data given as parameters and sends it using HtiDispatcher
- */
- void SendHtiMessage( DWORD serviceId, void* body, DWORD len );
- void SendHtiMessage( DWORD serviceId, void* body, DWORD len, BYTE priority );
-
- //error message
- bool IsReceivedHtiError();
- int HtiErrorCode();
- int HtiServiceErrorCode();
- char* HtiServiceErrorDerscription();
- void SendSoapFaultFromReceivedHtiError();
-
- /**
- * This method is called when incoming data has been read from CommChannelPlugin
- * The method sets m_hReceiveHtiEvent to signaled state(Run method waits this event object to become signaled)
- */
- bool ReceiveHtiMessage(HtiMessage* message);
-
-private:
-
- void CleanSoapEnv();
-
-// data members
-protected:
- string m_PluginName;
-
- HtiPluginDll* m_HtiPlugin;
-
- HtiDispatcher* m_HtiDispatcher;
-
- /**
- * Message passed to the handler by AcceptHtiMessage()
- * It is usually processed than
- */
- HtiMessage* m_ReceiveHtiMsg;
-
- bool m_Running;
-
-private:
- /**
- * used to wait for messages from symbian-side
- */
- HANDLE m_hReceiveHtiEvent;
-
- /**
- * used to wait for SOAP request
- */
- HANDLE m_hReceiveSoapEvent;
-
- /**
- * Used to allow define either thread is busy
- */
- HANDLE m_hHandlerCanAcceptSoapRequest;
- HANDLE m_hHandlerCanAcceptHtiMessage;
-
- /**
- * Needed to dispatch error messages without tartet service uid
- **/
- HANDLE m_hHandlerWaitsHtiMessage;
-
- /**
- * Local gSOAP env
- */
- struct soap* m_SoapEnv;
-};
-/*
-inline HtiMessage* SoapHandler::GetReceivedHtiMessage()
-{
- HtiMessage* r = m_ReceiveHtiMsg;
- m_ReceiveHtiMsg = NULL;
- return r;
-}
-*/
-
-inline void SoapHandler::SetDispatcher( HtiDispatcher* dispatcher)
-{
- m_HtiDispatcher = dispatcher;
-}
-
-#endif //__SOAP__HANDLER_H_
\ No newline at end of file