realtimenetprots/sipfw/SampleApp/gameengine/Inc/SIPExState.h
changeset 0 307788aac0a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/SampleApp/gameengine/Inc/SIPExState.h	Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,262 @@
+
+/*
+* 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 __TSIPEXSTATE_H__
+#define __TSIPEXSTATE_H__
+
+// INCLUDES
+#include    "SIPExSocketEngine.h"
+#include    "SIPExGameEngine.h"
+#include    <e32base.h>
+#include    <in_sock.h>
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATIONS
+/**
+* The abstract base class for all states.
+*/
+class TSIPExState 
+    {
+    public: // New functions
+
+        /**
+        * ChangeState
+        * Changing the active state.
+        * @param aContext The pointer to the game engine.
+        * @param aNewState The new active state.
+        */
+        void ChangeState( CSIPExEngine* aContext, TSIPExState* aNewState );
+
+        /**
+        * Info
+        * Non leaving function for setting info text.
+        * @param aContext The pointer to the game engine.
+        * @param aText A text to set to the info
+        */
+        void Info( CSIPExEngine* aContext, const TDesC& aText );
+
+        /**
+        * StatusInfo
+        * Non leaving function for setting status info text.
+        * @param aContext The pointer to the game engine.
+        * @param aText A text to set to the info
+        */
+        void StatusInfo( CSIPExEngine* aContext, const TDesC& aText );
+
+        /**
+        * CombineAndShowInfoL
+        * Combines a descriptor and a number value as one descriptor.
+        * The result descriptor is set to info view.
+        * The max length of the new desc is 64.
+        * @param aContext The pointer to the game engine.
+        * @param aText A text part.
+        * @param aNum A number part.
+        */
+        void CombineAndShowInfoL( CSIPExEngine* aContext, const TDesC& aText, TInt aNum );
+
+    public:
+        // ----------------------------------------------------------------------------
+        // From SIP Observer
+        // ----------------------------------------------------------------------------
+
+        /**
+        * InviteReceived
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void InviteReceived( CSIPExEngine* aContext, 
+                const TDesC8& aFrom, const TUint32 aIapId );
+            
+        /**
+        * InviteAcceptedByRemote
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void InviteAcceptedByRemote( CSIPExEngine* aContext, const TInetAddr& aIPAddress, const TUint32 aIapId );
+            
+        /**
+        * InviteDeclinedByRemote
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void InviteDeclinedByRemote( CSIPExEngine* aContext, const TInt aResponse );
+
+        /**
+        * InviteReceivedByRemote
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void InviteReceivedByRemote( CSIPExEngine* aContext, const TInt aResponse );
+
+        /**
+        * InviteAcceptedByUs
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void InviteAcceptedByUs( CSIPExEngine* aContext );
+            
+        /**
+        * InvitationCancelled
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void InvitationCancelled( CSIPExEngine* aContext);
+            
+        /**
+        * CancelFailed
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void CancelFailed( CSIPExEngine* aContext );
+
+        /**
+        * ProfileEnabled
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void ProfileEnabled( CSIPExEngine* aContext, TUint32 aSIPProfileId );
+
+        /**
+        * IMReceived
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void IMReceived( CSIPExEngine* aContext, const TDesC8& aFrom,
+            const TDesC8& aMessage );
+
+        /**
+        * SessionEnded
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void SessionEnded( CSIPExEngine* aContext );
+            
+        /**
+        * ConnectionLost
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void ConnectionLost( CSIPExEngine* aContext );
+            
+        /**
+        * ProfileError
+        * From MSIPExSIPEngineObserver.
+        */
+        virtual void ProfileError( CSIPExEngine* aContext, TInt aError );
+
+        /**
+        * EngineError
+        * From MSIPExSIPEngineObserver.
+        */
+        void EngineError( CSIPExEngine* aContext, TInt aError );
+            
+        // ----------------------------------------------------------------------------
+        // From Socket engine
+        // ----------------------------------------------------------------------------
+
+        /**
+        * SocketState
+        * From MSIPExSocketEngineObserver.
+        */
+        virtual void SocketState( CSIPExEngine* aContext, TInt aNewState );
+
+        /**
+        * SocketData
+        * From MSIPExSocketEngineObserver.
+        */
+        virtual void SocketData( CSIPExEngine* aContext, TDesC8& aData );
+            
+        // ----------------------------------------------------------------------------
+        // From Game Engine
+        // ----------------------------------------------------------------------------
+        
+        /**
+        * InviteL
+        * Called when user invites the remote user to the game.
+        */
+        virtual void InviteL( CSIPExEngine* aContext, const TDesC& aAddress );
+
+        /**
+        * DrawCursor
+        * Tells whether we should draw the cursor or not.
+        */
+        virtual TBool DrawCursor();
+
+        /**
+        * DrawBoard
+        * Tells whether we should draw the board or not.
+        */
+        virtual TBool DrawBoard();
+
+        /**
+        * CalculatePos
+        * Calculates the next free place in cursor's column.
+        */
+        virtual TInt CalculatePos( CSIPExEngine* aContext );
+
+        /**
+        * IsWin
+        * Checks the if the move is winning move.
+        */
+        virtual TInt IsWin( CSIPExEngine* aContext, const TInt aX, const TInt aY );
+
+        /**
+        * EnableProfile
+        * Virtual function.
+        */
+        virtual void EnableProfileL( CSIPExEngine* aContext );
+
+        /**
+        * DisableProfile
+        * Virtual function.
+        */
+        virtual void DisableProfileL( CSIPExEngine* aContext );
+
+        /**
+        * CursorPressed
+        * Virtual function.
+        */
+        virtual void CursorPressed( CSIPExEngine* aContext );
+            
+        /**
+        * CursorRight
+        * Virtual function.
+        */
+        virtual void CursorRight( CSIPExEngine* aContext );
+
+        /**
+        * CursorLeft
+        * Virtual function.
+        */
+        virtual void CursorLeft(  CSIPExEngine* aContext );
+
+        /**
+        * MoveCursorL
+        * Virtual function
+        */
+        virtual void MoveCursorL( CSIPExEngine* aContext, const TInt aNewPosition );
+
+        /**
+        * SendInstantMsgL
+        * Virtual function.
+        */
+        virtual void SendInstantMsgL( CSIPExEngine* aContext, 
+            const TDesC& aAddress, const TDesC& aMsg );
+
+        /**
+        * EndGameL
+        * Virtual function.
+        */
+        virtual void EndGameL( CSIPExEngine* aContext );
+    };
+
+#endif // __TSIPEXSTATE_H__
+
+// End of file