realtimenetprots/sipfw/SampleApp/sipengine/inc/SIPExSIPEngineObserver.h
changeset 0 307788aac0a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/SampleApp/sipengine/inc/SIPExSIPEngineObserver.h	Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,171 @@
+
+/*
+* Copyright (c) 2004-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:
+*
+*/
+
+
+
+#ifndef _SIPEXSIPENGINEOBSERVER_H_
+#define _SIPEXSIPENGINEOBSERVER_H_
+
+// INCLUDES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+*  The observer class for monitoring the SIP Engine.
+*  Class must be implemented by the user in order to 
+*  observe changes in the SIP Engine.
+*/
+
+class MSIPExSIPEngineObserver 
+	{
+
+    public: // New functions
+    
+		// Session control
+		//
+		// INVITE
+		
+		/**
+		* InviteReceived
+		* Called when an INVITE is received by the SIP Client.
+		* @param aFrom The sender of the INVITE
+		* @param aIapId The access point id of used conection
+		*/
+    	virtual void InviteReceived( const TDesC8& aFrom, const TUint32 aIapId ) = 0;
+
+    	/**
+    	* InviteReceivedByRemote
+    	* Called when a provisional response (1xx, not 100 (Trying))
+    	* is received after sending INVITE.
+    	*/
+    	virtual void InviteReceivedByRemote( const TInt aResponse ) = 0;
+
+    	/**
+    	* InviteAcceptedByRemote
+    	* Called when the response 200 (OK) is received
+    	* after sending INVITE.
+    	* @param aIPAddr The IP Address of the remote party.
+    	* @param aIapId iap id used.
+    	*/
+    	virtual void InviteAcceptedByRemote( const TInetAddr& aIPAddr, const TUint32 aIapId ) = 0;
+    	
+    	/**
+    	* InviteDeclinedByRemote
+    	* Called when a 4xx, 5xx, or 6xx response is received
+    	* after sending INVITE.
+    	* As the session isn't established, the engine should be
+    	* deleted.
+    	* @param aResponse Value of the received response.
+    	*/
+    	virtual void InviteDeclinedByRemote( const TInt aResponse ) = 0;
+    	
+    	/**
+    	* InviteAcceptedByUs
+    	* Called when the response ACK is received after
+    	* responding with 200 (OK) to an invitation.
+    	*/
+    	virtual void InviteAcceptedByUs() = 0;
+
+
+		// CANCEL
+    	
+    	/**
+    	* InvitationCancelled
+    	* Called when an INVITE has been successfully cancelled.
+    	*/
+    	virtual void InvitationCancelled() = 0;
+    	
+    	/**
+    	* CancelFailed
+    	* Called when the cancellation of an INVITE fails.
+    	*/
+    	virtual void CancelFailed() = 0;
+
+
+		// BYE
+    	
+    	/**
+    	* SessionEnded
+    	* Called when the session has been closed, ie. when the
+    	* the response 200 (OK) is received after sending BYE,
+    	* or after 200 (OK) has been sent after receiving BYE.
+    	* Or we have declined a received INVITE.
+    	* The observer should delete the engine.
+    	*/
+    	virtual void SessionEnded() = 0;
+    	
+    	
+    	// Connection lost
+    	
+    	/**
+    	* ConnectionLost
+    	* Called when the connection is lost because of an
+    	* error. The observer should delete the engine.
+    	*/
+    	virtual void ConnectionLost() = 0;
+    	
+    	
+    	// SIP Engine Error
+    	
+    	/**
+    	* EngineError
+    	* Called when an error occurs in the SIP Example
+    	* SIP Engine.
+    	* @param aError Error number
+    	*/
+    	virtual void EngineError( TInt aError ) = 0;
+
+
+
+		// Profile control
+
+		/**
+		* ProfileEnabled
+		* Called when the EnableProfile method has
+		* completed successfully.
+		* @param aSIPProfileId ID of the enabled profile
+		*/
+		virtual void ProfileEnabled( TUint32 aSIPProfileId ) = 0;
+
+		/**
+		* ProfileError
+		* An error has occurred during a profile operation
+		* @param aError Error number
+		*/
+		virtual void ProfileError( TInt aError ) = 0;
+		
+		// Instant Message control
+		
+		/**
+		* IMReceived
+		* Called when an Instant Message is received.
+		* @param aFrom The sender of the IM.
+		* @param aMessage The message received.
+		*/
+		virtual void IMReceived( const TDesC8& aFrom,
+								 const TDesC8& aMessage ) = 0;
+		/**
+		* WriteLog
+		* @param aLog, log entry.
+		*/
+		virtual void WriteLog( const TDesC8& aLog ) = 0;
+	};
+
+#endif	// _SIPEXSIPENGINEOBSERVER_H_