telephonyserverplugins/simatktsy/inc/csateventdownloadtsy.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/simatktsy/inc/csateventdownloadtsy.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,248 @@
+/*
+* Copyright (c) 2006-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:
+* Name        : CSatEventDownloadTsy.h
+* Part of     : Common SIM ATK TSY / commonsimatktsy
+* EventDownload-related functionality of Sat Tsy
+* Version     : 1.0
+*
+*/
+
+
+
+#ifndef CSATEVENTDOWNLOADTSY_H
+#define CSATEVENTDOWNLOADTSY_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <etelsat.h>
+#include <et_phone.h>
+
+#include "TSatEventList.h"      // Event list class 
+#include "TSatUtility.h"        // Utilities
+
+// CONSTANTS
+const TUint8  KMaxCauseLength	   = 248;
+
+// FORWARD DECLARATION
+class CSatTsy;
+class CSatDataPackage;
+
+// DESCRIPTION
+/**
+* Sat event download handling
+* @lib Commonsimatktsy
+* @since 3.1
+*/
+NONSHARABLE_CLASS ( CSatEventDownloadTsy ) : public CBase
+   {
+
+   public:
+
+        /**
+        * This structure contains data needed for CallDisconnected
+        * envelope.
+        */
+        struct TCallDisconnectedEnvelope 
+            {
+            TUint8 iCmdNumber;      		// Command number
+            TBool iNearEnd;     			// MO flag
+            TBool iCauseGiven;     	    	// Cause given
+            TBuf8<KMaxCauseLength>  iCause; // Cause
+            };
+      
+        /**
+        * This structure contains data needed for MTCall
+        * envelope.
+        */
+        struct TMTCallEnvelope 
+            {
+		    TUint8 iCmdNumber;               // Command number
+		    TUint8 iTONandNPI;               // Ton and Npi
+		    TBuf8<KNumberMaxLength> iDiallingNumber;// Calling Party BCD number
+		    TPtrC8 iCalledPartySubAddress;   // Calling Party Subaddress
+            };    
+     public:
+
+        /**
+        * Two-phased constructor.
+        * @param aSatTsy
+        * return CSatTsy*: created eventdownload object 
+        */
+        static CSatEventDownloadTsy* NewL( CSatTsy* aSatTsy );
+
+        /**
+        * C++ Destructor.
+        */
+        ~CSatEventDownloadTsy();
+
+    private:
+
+        /**
+        * By default C++ constructor is private.
+        */
+        CSatEventDownloadTsy();
+
+        /**
+        * Class attributes are created in ConstructL.
+        */
+        void ConstructL();
+
+    public: // New functions
+        
+        /**
+        * Handles extended client requests.
+        * @param aTsyReqHandle: TSY request handle
+        * @param aIpc: Request IPC number
+        * @param aPackage: Packed request parameters
+        * @return: Result of the request
+        */
+        TInt DoExtFuncL(const TTsyReqHandle aTsyReqHandle, const TInt aIpc,
+                const TDataPackage& aPackage );
+
+        /**
+        * Sets on events
+        * @param aEvents: event mask
+        */
+        void SetUpEventList( TUint32 aEvents );
+        
+        /**
+        * Method to set internal flag to EFalse or ETrue.
+        * @param aStatus EFalse or ETrue
+        */
+        void SetSetUpCallStatus( const TBool aStatus );
+        
+        /**
+        * Cancels request that's IPC number and request handle are given in
+        * parameters
+        * @param aIpc: Request IPC number
+        * @param aTsyReqHandle: TSY request handle
+        * @return: Result of the request
+        */
+        TInt CancelService(
+            const TInt aIpc,
+            const TTsyReqHandle aTsyReqHandle );
+
+    public:
+
+        /**
+        * Creates MT call envelope to NAA
+        * @param aDataPackage: Packaged parameters
+        * @return phonet sender status
+        */ 
+        TInt CompleteMTCallL( const CSatDataPackage* aDataPackage );
+
+        /**
+        * Creates call connected envelope to NAA
+        * @param aDataPackage: Packed parameters
+        * @return success/failure indication
+        */ 
+        TInt CompleteCallConnectedL( const CSatDataPackage* aDataPackage );
+        
+        /**
+        * Creates call disconnected envelope to NAA
+        * @param aDataPackage: Packed parameters
+        * @return success/failure indication
+        */
+        TInt CompleteCallDisconnectedL( const CSatDataPackage* aDataPackage );        
+
+        /**
+        * Creates location status envelope to NAA
+        * @param aDataPackage: Packed parameters
+        * @return success/failure indication
+        */
+        TInt CompleteLocationStatusL( const CSatDataPackage* aDataPackage );
+        
+        /**
+        * Access Technology change
+        * Creates Access technology change envelope to NAA
+        * @param aDataPackage: Packed parameters
+        * @return phonet sender status
+        */
+        TInt CompleteAccessTechnologyChangeL( 
+        	const CSatDataPackage* aDataPackage );
+
+	private:
+
+        /**
+        * Creates user activity envelope to NAA
+        * @return success/failure indication
+        */
+        TInt CreateUserActivityEnvelopeL();
+        
+        /**
+        * Creates idle screen available envelope to NAA
+        * @return success/failure indication
+        */
+        TInt CreateIdleScreenAvailableEnvelopeL();
+        
+        /**
+        * Creates browser termination envelope to NAA
+        * @param aCause: Browser termination cause
+        * @return success/failure indication
+        */
+        TInt CreateBrowserTerminationEnvelopeL(
+            const RSat::TBrowserTerminationCause aCause );
+        
+        /**
+        * Creates language selection envelope to NAA
+        * @param aLanguage: selected language
+        * @return success/failure indication
+        */
+        TInt CreateLanguageSelectionEnvelopeL( const TUint16 aLanguage );
+
+        /**
+        * Bearer Independent Protocol
+        * Creates data available envelope to NAA. The NAA may sent a
+        * ReceiveData PCmd after a DataAvailable event.
+        * @param aStatus channel status
+        * @param aLength data length to be received
+        * @return phonet sender status
+        */
+        TInt CreateDataAvailableEnvelopeL( const RSat::TChannelStatus aStatus,
+            const TInt8 aLength );
+            
+        /**
+        * Bearer Independent Protocol
+        * Creates channel status envelope to NAA
+        * @param aStatus channel status
+        * @return phonet sender status
+        */
+        TInt CreateChannelStatusEnvelopeL( const RSat::TChannelStatus aStatus );        
+        
+
+    private: // Data
+
+        // Pointer to Sat TSY
+        CSatTsy* iSatTsy;
+        // Event list
+        TSatEventList iEventList;
+        // Flag for SetUpCall
+        TBool iSetUpCallOngoing;
+        // Location status
+        TUint8 iLocationStatus;
+        // Operator code
+        TBuf8<3> iOperatorCode;
+        // Location area code
+        TUint16 iLocationaAreaCode;
+        // Cell Id
+        TUint16 iCellId;           
+        // Flag for forcing the Location status envelope is every time after 
+        // SetUpEventList PCmd
+        TBool iForceLocationStatusEnvelope;
+    };
+
+#endif // CSATEVENTDOWNLOADTSY_H
+
+// End of File