--- /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