cbs/CbsServer/ServerInc/CCbsReceiverHelper.h
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/cbs/CbsServer/ServerInc/CCbsReceiverHelper.h	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-/*
-* Copyright (c) 2003 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 the header file of the CCbsReceiverHelper class.
-*
-*/
-
-
-#ifndef     CCBSRECEIVERHELPER_H
-#define     CCBSRECEIVERHELPER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "CbsCommon.h"
-
-// FORWARD DECLARATIONS
-class CCbsRecMessage;
-class CCbsServer;
-class CCbsDbImp;
-class CVwsSessionWrapper;
-class CCbsMessage;
-
-
-//  CLASS DECLARATION 
-
-/**
-*   CCbsReceiverHelper gets the messages from the receiver and 
-*   sends them to the database. All received messages are
-*   sent to CCbsReceiverHelper instance by CCbsRecEtel.
-*   This class makes subscription and existence checks
-*   to these messages and also implements topic detection
-*   feature.
-*/
-class CCbsReceiverHelper : public CBase
-    {
-    public:     // New functions
-        
-        /**
-        *   Creates an instance of the class.
-        *
-        *   @param  aDatabase           Database object.
-        *   @return                     New CCbsReceiverHelper instance.
-        */  
-         static CCbsReceiverHelper* NewL( CCbsDbImp& aDatabase );
-
-        /**
-        *   The destructor.
-        */            
-        ~CCbsReceiverHelper();
-
-        /**
-        *   Clears the topic detected counter.
-        */    
-        void ClearTopicsDetectedCounter();
-
-        /**
-        *   Returns the amount of detected topics.
-        *
-        *   @return                     The amount of detected topics.
-        */    
-        TUint TopicsDetected() const;
-
-        /**
-        *   This function is called when a message is received.
-        *
-        *   Assumptions;
-        *   1.  The message doesn't have it's permanent or read 
-        *       flags raised - method leaves with KErrNotSupported 
-        *       if this is the case. 
-        *   2.  If an index message (root or subindex) is passed as
-        *       a parameter, the language indication prefix, if any,
-        *       has been removed before HandleReceivedMessageL() is called.
-        *        
-        *   Assumption (2) holds because language indications are removed
-        *   by Receiver module in an instance of CCbsRecDecoder.
-        *
-        *   Exceptions:
-        *   KErrNoMemory                OOM occurred.
-        *   KErrNotSupported            aMessage's flags were invalid.
-        *   KErrAlreadyExists           aMessage is already stored in 
-        *                               the database.
-        *    
-        *   @param aMessage             Interface to get the information 
-        *                               about the message.
-        */
-        void HandleReceivedMessageL( CCbsMessage& aMessage );
-
-        /**
-        *   Checks if aMessage's topic is in the topic list.
-        *   If the topic detection is enabled and the aMessage's topic
-        *   is not in the list, the topic is added. The method
-        *   will then return ETrue. Otherwise EFalse is returned.
-        *
-        *   @param  aMessage            Message page.
-        *   @return                     ETrue, if topic added
-        */
-        TBool CheckForNewTopicL( const CCbsMessage& aMessage );
-
-        /**
-        *   Checks if aMessage's topic is subscribed and
-        *   if the message already exists in the database.
-        *   
-        *   Returns ETrue only if the message does not exist in the
-        *   database and the message's topic is subscribed.
-        *
-        *   @param  aMessage            Message page.
-        *   @return                     ETrue, if message can be received
-        */
-        TBool CheckForSubscriptionAndExistenceL( const CCbsMessage& aMessage );
-
-        /**
-        *   Checks if aMessage's language has been subscribed by the user.
-        *
-        *   ETrue is returned either if the language specified has been 
-        *   subscribed, message language is "Other" or the user has
-        *   preferred to receive messages of all languages.
-        *
-        *   @param  aMessage            Message page
-        *   @return                     ETrue, if message can be received
-        */
-        TBool LanguageOfMessageSubscribedL( const CCbsMessage& aMessage );
-
-        /**
-        *   Stores the CB topic (aNumber, aName) retrieved from 
-        *   SIM into the DB. If a topic of the same number already exists
-        *   in DB, does nothing.
-        *
-        *   @param aNumber              Number of the topic.
-        *   @param aName                Name of the topic.        
-        */
-        void AddSimTopicL( const TUint aNumber, const TDesC& aName );
-
-        /**
-        *   Returns a reference to the CCbsDbImp instance.
-        *
-        *   @return                     Main database object.
-        */
-        CCbsDbImp& Database() const;
-        
-        /**
-        *   Returns a reference to SIM Topic array
-        *
-        *   @return                     SIM Topic array.
-        */
-        CArrayFixFlat<TInt>& SimTopics() const;
-        
-        /**
-        *   Deletes a topic from the local SIM Topic array.
-        *
-        *   @param aNumber              Number of the topic.        
-        */
-        void DeleteFromSimTopicCache( const TUint16 aNumber );
-        
-        /**
-        *   Requests a notification to be launched when a message
-		*	arrives to a hotmarked topic.
-		*
-		*   @param aPlayTone            Should the message alert tone be
-		*                               played.
-        */
-        void LaunchMessageSoftNotificationL( const TBool aPlayTone );
-
-    private:
-
-        /**
-        *   The constructor.
-        *
-        *   @param aDatabase            Database object.
-        *   @param aServer              Server object.    
-        */
-        CCbsReceiverHelper( CCbsDbImp& aDatabase );
-
-        /**
-           Finalizes the construction.
-        */
-        void ConstructL();
-
-        /**
-        *   Handles detected topic.
-        *
-        *   @param  iTopicNumber        The number of the topic detected.
-        *   @return                     ETrue if the detected topic is added 
-        *                               to the topic list. EFalse otherwise.
-        */
-        TBool HandleTopicDetectedL( const TCbsDbTopicNumber& iTopicNumber );
-
-        /**
-        *   Handles index message. Parses topic identities and
-        *   stores them into the database.
-        *
-        *   Leave reasons:
-        *   KErrNoMemory                OOM occured.
-        *   KErrNotSupported            Index message was of unsupported 
-        *                               version.
-        *   KErrCorrupt                 Parsing of the index message failed.
-        *
-        *   @param  aContents           Index message body.
-        *   @param  aIsChildSubIndex    ETrue, if child subindex. 
-        *                               EFalse, if root index.
-        *   @return                     Result code.
-        */
-        void HandleIndexMessageL( const TDesC& aContents, 
-            const TBool aIsChildSubIndex );
-
-        /**
-        *   Parses all topic identities from aText which is assumed to be
-        *   an index message's content.
-        *        
-        *   Leave code values:
-        *   KErrNoMemory                Storing of topic identities failed 
-        *                               because of insufficient memory.
-        *   KErrNotSupported            Index message identifies itself as 
-        *                               an index of unknown type to the server.
-        *   KErrCorrupt                 A problem was encountered while parsing
-        *                               the index message content.
-        *   KErrAlreadyExists           Index message contained two or more 
-        *                               identities which shared the same topic 
-        *                               number.
-        *
-        *   @param aText                Index message body
-        */
-        void ParseTopicIdentitiesL( const TDesC& aText );
-
-        /**
-        *   Requests a notification to be launched about a message that 
-        *   requires immediate displaying.
-        *
-        *   @param  aMessage            Message to be displayed
-        */
-        void LaunchMessageImmediateDisplay( const TCbsDbMessage& aMessage );
-        
-        /**
-        * Turn lights on
-        */
-        void TurnLightsOn();
-        
-        /**
-        * Play Cbs tone.
-        */
-        void PlayCbsTone();
-
-    private:    // Member variables
-
-        // Reference to the database
-        CCbsDbImp& iDatabase;                
-
-        // Number of topics detected after startup.
-        TUint iTopicsDetected;
-
-        CArrayFixFlat<TInt>* iSimTopics;
-        
-        // View server session wrapper.
-        // Used to launch CBS UI application on arrival of
-        // CB messages designated "requiring immediate display".
-        CVwsSessionWrapper* iVwsSession;
-
-        // Local variation bits, fetched from CenRep
-        TInt iLVBits;
-    };
-
-#endif      //  CCBSRECEIVERHELPER_H   
-            
-// End of File
-
-