hti/PC_Tools/HTIGateway/HtiGateway/inc/SOAPHandler.h
branchRCL_3
changeset 40 07b41fa8d1dd
parent 39 3406c99bc375
child 43 ca8a1b6995f6
--- 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