phoneuis/BubbleManager/Inc/BMBubbleManager.h
changeset 21 92ab7f8d0eab
parent 4 c84cf270c54f
child 22 6bb1b21d2484
--- a/phoneuis/BubbleManager/Inc/BMBubbleManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1018 +0,0 @@
-/*
-* Copyright (c) 2007 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:  CBubbleManager class provides API for phone to draw current calls
-*                on the screen. 
-*
-*/
-
-
-
-#ifndef BUBBLEMANAGER_H
-#define BUBBLEMANAGER_H
-
-//  INCLUDES
-#include    <coemain.h>
-#include    <bmbubbleplace.h>
-#include    <bldvariant.hrh>
-#include    <mphcntmatch.h>
-
-// CONSTANTS
-_LIT( KBubbleTextSeparator ,"\t");
-const TUint8 KBubbleShortLabelMaxLength = 25;
-const TUint8 KBubbleLongLabelMaxLength = 35;
-const TUint8 KBubbleLabelMaxLength = 
-    KBubbleShortLabelMaxLength + KBubbleLongLabelMaxLength;
-//const TUint8 KBubbleMaxCharsInNE = 48;
-const TUint8 KBubbleCallMaxAmount = 7;
-const TUint8 KBubblePlaceMaxAmount = 20;
-const TUint8 KBubblePlaceMaxAmountTouch = 23;
-const TUint8 KBubblePlaceMaxVisible = 4;
-const TUint8 KBubbleMaxCallsInConf = 5;
-const TInt KBubbleConferenceId = -1; // differs from 0-6 which 
-                                     //are reserved for calls.
-const TInt KBubbleInvalidId = -2;
-const TInt KBubbleNoHighlightRow = 0; // 1-5 are conference rows
-
-// FORWARD DECLARATIONS
-class CBubbleOutlook;
-class CBubbleImageManager;
-class CBubbleCallHeader;
-class CBubbleHeader;
-class CBubbleConfHeader;
-class CBubbleOutlookNumberEntry;
-class CBubbleOutlookTopRight;
-class CEikImage;
-class CBubbleResourceManager;
-class CPNGNumberGrouping;
-class CBubbleCallObjectManager;
-class CBubbleVideoController;
-class MBubbleVideoPlaybackObserver;
-class CBubbleTouchPane;
-class MBubbleTouchPaneInterface;
-class CTelBubbleCustomElement;
-class CBubbleCustomManager;
-class CBubbleMainPaneControl;
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleManager container class
-*
-*  @lib bubblemanager.lib
-*  @since Series60_1.0
-*/
-NONSHARABLE_CLASS(CBubbleManager) : public CCoeControl
-    {
-    public:     // Data
-        typedef TInt TBubbleId;
-        typedef TBuf<KBubbleLabelMaxLength> TBubbleLabelString;
-        typedef TUint8 TRowNumber; // 1-5 allowed (for conf)
-        
- 
-        // Different call states
-        enum TPhoneCallState // Set the order for drawing too
-            { 
-            ENone           = 0, // Default on creation
-            EOnHold,
-            EDisconnected,
-            EActive,
-            EIncoming,
-            EWaiting,
-            EAlertToDisconnected,
-            EOutgoing,
-            EAlerting,
-            };
-        
-        // Call Flags
-        enum TPhoneCallTypeFlags 
-            {
-            ENormal         = 0x00,     // Default
-            ENoCiphering    = 0x08,     // open lock icon
-            ELine2          = 0x10,     // is call on line 2 
-            EMuted          = 0x20,     // not implemented for a single call
-            EDiverted       = 0x40,     // is call diverted
-            EVideo          = 0x80,     // video call
-            EVoIPCall       = 0x100     // VoIP call.  
-            };
-        
-        // Number types
-        enum TPhoneNumberType
-            {
-            ENotSet    = 0, // Default
-            EHome,
-            EMobile,
-            EWork,
-            EPhone,
-            EFaxNumber,
-            EPager,
-            ECar,
-            EAssistant
-            };
-        
-        // Where the text is clipped.
-        enum TPhoneClippingDirection
-            {
-            ELeft,  // Default on numbers
-            ERight  // Default on texts/names
-            };
-
-        enum TPhoneCallAnimationTypes
-            {
-            EAnimVoiceCall = 0,
-            EAnimVideoCall,
-            EAnimVoIPCall
-            };
-            
-        // Popup bubble type
-        enum TPhonePopupBubbleType
-            {
-            EVideoRingingToneQCIF,
-            EVideoRingingToneSubQCIF    
-            };
-            
-        // Video play
-        enum TBubbleVideoPlayMode
-            {
-            EPlayInLoop,
-            EPlayOnce,
-            EPlayAscending    
-            };
-            
-        // Conference participant CLI
-        enum TBubbleParticipantListCLI
-            {
-            EParticipantListCLIText,
-            EParticipantListCNAP    
-            };                        
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aRect Area to use
-        * @return New instance
-        */
-        IMPORT_C static CBubbleManager* NewL( const CCoeControl& aContainer , 
-                                              const TRect& aRect );
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aRect Area to use
-        * @param aBigNEInIdle Bigger number entry used in idle state.
-        * @return New instance
-        */
-        IMPORT_C static CBubbleManager* NewL( const CCoeControl& aContainer , 
-                                              const TRect& aRect,
-                                              TBool aBigNEInIdle );
-        
-        /**
-        * Destructor.
-        */
-        IMPORT_C ~CBubbleManager();
-
-    public: // New functions
-        
-        // ====================================================
-        // Must surround all the changes:
-        // ====================================================
-        //
-        
-        /**
-        * Before making any changes to bubble headers, call this function so
-        * manager can prapare for them properly.
-        */
-        IMPORT_C void StartChanges();
-        
-        /**
-        * After the changes to bubble headers call this function so manager 
-        * can prepare bubbles to right places and check the drawing order. 
-        * Memory for arrays has been allocated beforehand.
-        */
-        IMPORT_C void EndChanges();
-        
-        
-        // ====================================================
-        // For number entry:
-        // ====================================================
-        //
-        
-        /**
-        * Sets number entry active.
-        */
-        IMPORT_C void CreateNumberEntry();
-        
-        /**
-        * Return pointer to number entry
-        * @return The NE.
-        */
-        IMPORT_C CCoeControl* GetNumberEntry( ) const;
-        
-        /**
-        * Query, is number entry used.
-        * @return ETrue is NE is used.
-        */
-        IMPORT_C TBool IsNumberEntryUsed( ) const;
-        
-        /**
-        * This disables NE drawing but doesn't empty the component.
-        * @param aVisibility NE visible or not.
-        */
-        IMPORT_C void SetNumberEntryVisible( 
-            const TBool& aVisibility = ETrue );
-        
-        /**
-        * Set Number Entry text.
-        * @param aDesC The text.
-        */
-        IMPORT_C void SetTextToNumberEntry( const TDesC& aDesC );
-        
-        /**
-        * Get Number Entry Text.
-        * @param aDesC The text.
-        */
-        IMPORT_C void GetTextFromNumberEntry( TDes& aDesC );
-        
-        /**
-        * Removes NE and empties the buffer.
-        */
-        IMPORT_C void RemoveNumberEntry( );
-        
-        
-        // ====================================================
-        // For call headers and some for conference call
-        // ====================================================
-        //
-        
-        /**
-        * Takes a new call header in use.
-        * @return Bubble idenfication number
-        */
-        IMPORT_C TBubbleId CreateCallHeader();
-        
-        /**
-        * Removes call header from use
-        * @param aBubbleId Indentifies call header
-        */
-        IMPORT_C void RemoveCallHeader( const TBubbleId& aBubbleId );
-        
-        /**
-        * Sets call state to header.
-        * @param aBubbleId Identifies header
-        * @param aState Call state ( e.g. incoming,.. ), for conf also 
-        *               (active/on hold/ none)
-        */
-        IMPORT_C void SetState( const TBubbleId& aBubbleId, 
-            const TPhoneCallState& aState );
-        
-        /**
-        * Sets text label to header. For conf also.
-        * @param aBubbleId Identifies header
-        * @param aText Text to be seen in bubble ( e.g. 'on hold' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetLabel( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aText, 
-            const TPhoneClippingDirection& aClipDirection = ERight );
-        
-        /**
-        * Sets text label to header. For conf also.
-        * @param aBubbleId Identifies header
-        * @param aLongText Text to be seen in bubble ( e.g. 'disconnected' )
-        * @param aShortText Text to be seen in bubble ( e.g. 'disconn' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetLabel( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aLongText, 
-            const TDesC& aShortText, 
-            const TPhoneClippingDirection& aClipDirection = ERight );
-        
-        /**
-        * Sets caller's line identification ( name or number) to header. 
-        * For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCLIText Caller's CLI ( e.g. 'Mother' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetCLI( const TBubbleId& aBubbleId, 
-                              const TDesC& aCLIText, 
-                              const TPhoneClippingDirection& aClipDirection );
-        
-        /**
-        * Updates caller's line identification ( name or number) to header. 
-        * For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCLIText Caller's CLI ( e.g. 'Daddy' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void UpdateCLI( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCLIText, 
-            const TPhoneClippingDirection& aClipDirection );
-        
-        
-        /**
-        * Sets call time or cost text to header. For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCallTime Timer or cost text ( e.g. '00:12:34' or '£01.23' ). 
-        *                  If this parameter is too long 
-        *                  (> KBubbleLabelMaxLength) it discards the end.
-        */
-        IMPORT_C void SetCallTime( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCallTime );
-        
-        /**
-        * Updates call time or cost text to header.  For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCallTime Timer or cost text ( e.g. '00:12:34' or '£01.23' ). 
-        *                  If this parameter is too long 
-        *                  (> KBubbleLabelMaxLength) it discards the end.
-        */
-        IMPORT_C void UpdateCallTime( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCallTime ); 
-        
-        /**
-        * Attach a thumbnail image to header. Bitmap parameters can be NULL.
-        * Ownership is not transferred.
-        * @param aBubbleId Identifies header
-        * @param aTnBitmap A Pointer to wanted thumbnail bitmap.
-        * @param aTnBitmapMask A Pointer to thumbnail bitmap mask.
-        * @param aDataOwnershipTransferred Set ETrue if ownership is transferred.
-        */
-        IMPORT_C void SetThumbnail( const TBubbleId& aBubbleId, 
-                                    CFbsBitmap* aTnBitmap, 
-                                    CFbsBitmap* aTnBitmapMask,
-                                    TBool aDataOwnershipTransferred 
-                                          = EFalse ); 
-
-        /**
-        * Attach a call object image to header.
-        * @param aBubbleId Identifies header
-        * @param aImageFile.
-        */
-        IMPORT_C void SetCallObjectImage( const TBubbleId& aBubbleId,
-                                          const TDesC& aImageFileName );            
-                                            
-        /**
-        * Attach a call object image to header.
-        * Ownership is not transferred.
-        * @param aBubbleId Identifies header
-        * @param aCOBitmap A Pointer to wanted call object image bitmap.
-        * @param aCOBitmapMask A Pointer to call object bitmap mask.
-        * @param aDataOwnershipTransferred Set ETrue if ownership is transferred.
-        */
-        IMPORT_C void SetCallObjectImage( const TBubbleId& aBubbleId, 
-                                          CFbsBitmap* aCOBitmap, 
-                                          CFbsBitmap* aCOBitmapMask = NULL,
-                                          TBool aDataOwnershipTransferred 
-                                                = EFalse  );
-
-        /**
-        * Attach a call object image to header. Image is taken from
-        * active theme.   
-        * @param aBubbleId Identifies header.
-        */
-        IMPORT_C void SetCallObjectFromTheme( const TBubbleId& aBubbleId );
-                                    
-        /**
-        * Attach a call object text to header.
-        * Ownership is not transferred.
-        * @param aBubbleId Identifies header
-        * @param aCOText Pointer to buffer holding the text. 
-        */
-        IMPORT_C void SetCallObjectText( const TBubbleId& aBubbleId, 
-                                         const TDesC& aCOText );                                                                        
-                                            
-        
-        /**
-        * Sets call flags to header.
-        * @param aBubbleId Identifies header
-        * @param aFlags Call flags
-        */
-        IMPORT_C void SetCallFlags( 
-            const TBubbleId& aBubbleId, 
-            const TUint32& aFlags ); 
-        
-        /**
-        * Sets call flags to header.
-        * @param aBubbleId Identifies header
-        * @param aFlag One call flag
-        * @param aSet ETrue sets flag and EFalse clears flag
-        */
-        IMPORT_C void SetCallFlag( const TBubbleId& aBubbleId, 
-                                   const TPhoneCallTypeFlags& aFlag, 
-                                   const TBool& aSet );
-        
-        /**
-        * Sets number type.
-        * @param aBubbleId Identifies header
-        * @param aNumType Number type enumeration ( e.g. mobile )
-        */
-        IMPORT_C void SetNumberType( const TBubbleId& aBubbleId, 
-                                     const TPhoneNumberType& aNumType );
-
-        /**
-        * Sets number type.
-        * @param aBubbleId Identifies header
-        * @param aNumType Number type id.
-        */
-        IMPORT_C void SetPbkNumberType( const TBubbleId& aBubbleId, 
-                                        const TInt aNumType );
-
-        IMPORT_C void SetPhCntNumberType( const TBubbleId& aBubbleId,
-                                     const MPhCntMatch::TNumberType aNumType );
-        
-        /**
-        * Updates video call header text for animation
-        * @param aBubbleId Identifies header
-        * @param aHeaderText video call header animation text 
-        */
-        IMPORT_C void UpdateCallHeaderText( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aLongText, 
-            const TDesC& aShortText, 
-            const TPhoneClippingDirection& aClipDirection );
-
-        // ====================================================
-        // For all bubbles
-        // ====================================================
-        //
-        
-        /**
-        * Sets phone muted/unmuted.
-        * @param aIsMuted ETrue if phone is muted.
-        */
-        IMPORT_C void SetPhoneMuted( const TBool& aIsMuted = ETrue );
-        
-        
-        // ====================================================
-        // For conference call
-        // ====================================================
-        //
-        
-        /**
-        * Creates a conference call based upon two calls. Bubbles must be 
-        * created first.
-        * @param aBubble1 Identifies first header to set in conference call.
-        * @param aBubble2 Identifies second header to set in conference call
-        * @return Conference bubble idenfication.
-        */
-        IMPORT_C TBubbleId CreateConference( const TBubbleId& aBubble1, 
-                                             const TBubbleId& aBubble2 );
-        
-        /**
-        * Splits conference call into invidual two calls. Call headers stays 
-        * in use. Headers' state will not be changed.
-        */
-        IMPORT_C void RemoveConference();
-        
-        /**
-        * Adds new call to conference call.
-        * @param aBubbleId Identifies header
-        */
-        IMPORT_C void AddRowToConference( const TBubbleId& aBubbleId );
-        
-        /**
-        * Takes specified call out of conference. Use RemoveConference if 
-        * conference has only two calls in it. Header's state is same as 
-        * before adding it to conference (if not changed inside the conf).
-        * @param aBubbleId Identifies header
-        */
-        IMPORT_C void RemoveRowFromConference( const TBubbleId& aBubbleId );
-        
-        /**
-        * Counts calls in conference call.
-        * @return Call amount in conference.
-        */
-        IMPORT_C TUint8 ConferenceRowCount( ) const;
-        
-        /**
-        * Sets highlight to specified line in conference.
-        * @param aRowNumber Line number in conference bubble. 
-        *                   0 means no highlight.
-        */
-        IMPORT_C void SetSelectionInConference( const TRowNumber& aRowNumber );
-        
-        /**
-        * Sets highlight to specified bubble id in conference.
-        * @param aBubbleId Id for wanted selection. 
-        *                  KBubbleInvalidId means no hihgtlight. 
-        */
-        IMPORT_C void SetSelectionIdInConference( const TBubbleId& aBubbleId );
-        
-        /**
-        * Gets highlighted item in conference.
-        * @return Row number of the call. 0 if no highlight
-        */
-        IMPORT_C TRowNumber SelectionInConference() const;
-        
-        /**
-        * Gets highlighted item in conference.
-        * @return Id of the call. Returns KBubbleInvalidId if no highlight
-        */
-        IMPORT_C TBubbleId SelectionIdInConference() const;
-        
-        /**
-        * Moves highligh one up if possible
-        */
-        IMPORT_C void MoveHighlightOneUpInConference();
-        
-        /**
-        * Moves highligh one down if possible
-        */
-        IMPORT_C void MoveHighlightOneDownInConference();
-        
-        /**
-        * Use this function to expand or shrink conference bubble.
-        * @param aIsExpanded ETrue=expanded, EFalse=shrink.
-        */
-        IMPORT_C void SetExpandedConferenceCallHeader( 
-            const TBool& aIsExpanded = ETrue );
-        
-        /**
-        * Query: is conference expanded?
-        * @return ETrue, if conference is expanded
-        */
-        IMPORT_C TBool IsConferenceExpanded( ) const;
-
-        // ====================================================
-        // Use only if __SERIES60_PHONE_CNAP if defined:
-        // ====================================================
-        //
-        /**
-        * Sets CNAP information to the call header. CLI is used for the CNAP 
-        * name got from the network. In addition, the phone number is stored 
-        * here to show it also.
-        * @since 1.2
-        * @param aBubbleId Identifies header
-        * @param aCNAPText Caller's CNAP information.
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetCNAP( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCNAPText, 
-            const TPhoneClippingDirection& aClipDirection = ELeft );
-
-        
-        /**
-        * Set number entry's editor mode.
-        * @param aMode for number editor input mode.
-        * @return Input mode of the editor.
-        * @since 3.0
-        */
-        IMPORT_C TInt ChangeEditorMode( TBool aDefaultMode = EFalse );
-        
-        /**
-        * Get number entry's editor mode.
-        * @return Input mode of the editor.
-        * @since 3.0
-        */
-        IMPORT_C TInt GetEditorMode() const;
-
-        /**
-        * Resets number entry editor to default values.
-        * @since 3.0
-        */
-        IMPORT_C void ResetEditorToDefaultValues();
-
-        /**
-        * Starts initialization of most essential icons. This method can 
-        * be used to ensure correct LAF in OOM situation (to be called
-        * before OOM).
-        */
-        IMPORT_C void PrepareIcons();
-        
-        /**
-        * Preloads/Releases call theme image.  
-        * @param aPreload ETrue to preload the image.
-        *                 EFalse to release the image.
-        */
-        IMPORT_C void PreloadCallThemeImage( TBool aPreload );
-        
-        /**
-        * Number of headers shown on the screen.
-        * @return Shown header count.
-        */
-        IMPORT_C TUint8 ShownHeaderCount() const;
-        
-        /**
-        * Client should call this method when the background context
-        * changes after EndChanges() call. This method updates animation
-        * frames that are created by drawing part of application view 
-        * off-screen (updates here cannot be based on redraw events). 
-        */
-        IMPORT_C void HandleBackgroundImageChange();
-
-        /**
-        * Sets video ringing tone. Video is played when the next call 
-        * enters incoming state and stopped when the call exits the
-        * incoming call state.
-        * @param aFileName File name with path.
-        * @param aPlayMode Play mode.
-        * @param aVolumeLevel Volume level (0-10).
-        * @param aUseArbitraryScaling Set ETrue for arbitrary video scaling.
-        * @param aObserver Playback observer.
-        */
-        IMPORT_C void SetVideoRingTone(
-            const TDesC& aFileName,
-            TBubbleVideoPlayMode aPlayMode,
-            TInt aVolumeLevel,
-            TBool aUseArbitraryScaling,
-            MBubbleVideoPlaybackObserver* aObserver );
-        
-        /**
-        * Stops video playback. Call bubble for video ringtone stays
-        * active.   
-        */
-        IMPORT_C void StopVideoRingTone();
-        
-        /**
-        * Mutes video playback.
-        */
-        IMPORT_C void MuteVideoRingTone();
-        
-        /**
-        * Cancels video ringing tone. Video playback is stopped and call
-        * bubble layout is changed to normal. This is meant to be used in 
-        * error situations, where client needs to abort video state and
-        * play default ringtone instead.    
-        */
-        IMPORT_C void CancelVideoRingTone();
-        
-        /**
-        * Set CLI used in participant list (text or phonenumber).
-        * @param aBubbleId Bubble identifier.
-        * @param aParticipantCLI CLI type.
-        * @since S60 5.0   
-        */        
-        IMPORT_C void SetParticipantListCLI(
-            const TBubbleId& aBubbleId,
-            TBubbleParticipantListCLI aParticipantCLI );
-        
-        /**
-        * Returns touchpane interface.
-        * @return Pointer to touchpane interface.
-        */
-        IMPORT_C MBubbleTouchPaneInterface* TouchPane();
-        
-        /**
-        * Sets touchpane visibility.
-        * @param Set ETrue if touchpane is shown otherwise EFalse.
-        */
-        IMPORT_C void SetTouchPaneVisible( TBool aVisible );
-        
-        /**
-        * Adds custom ui element to call bubble. Onwership of the element
-        * is not transferred, caller shall remove the element before deleting
-        * the instance.
-        * @since S60 5.0
-        * @param aBubbleId Bubble identifier.
-        * @param aElement  Custom element.
-        * @param aPriority Priotity 0(high) - 255(low). 
-        *                  Used when multiple instances in same position.
-        */
-        IMPORT_C void AddCustomElement( const TBubbleId& aBubbleId,
-                                        CTelBubbleCustomElement* aElement,
-                                        TInt aPriority );
-        
-        /**
-        * Removes custom ui element from call bubble.
-        * @since S60 5.0
-        * @param aBubbleId Bubble identifier.
-        * @param aElement Custom element.
-        */
-        IMPORT_C void RemoveCustomElement( const TBubbleId& aBubbleId,
-                                           CTelBubbleCustomElement* aElement );
-
-    public: // non-imported functions
-
-        /**
-        * Focus changed
-        * @param aDrawNow Needs redraw?
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * For getting image manager
-        * @return Reference
-        */
-        CBubbleImageManager& ImageManager();
-
-        /**
-        * For getting resource manager
-        * @return Reference
-        */
-        CBubbleResourceManager& ResourceManager();
-        
-        /**
-        * For getting customization manager
-        * @return Reference
-        */
-        CBubbleCustomManager& CustomManager();
-
-        /**
-        * Uses number grouping to change the phone number
-        * @since 1.2
-        * @param aNumber original number
-        * @return grouped number
-        **/
-        const TDesC& NumberGroup( const TDesC& aNumber );
-        
-        /**
-        * To test if this call state is such that end key
-        * press terminates the call.
-        * end key is pressed.
-        * @return ETrue if call is dropped by end key. Otherwise EFalse.
-        */
-        TBool IsCallDroppedByEndKey( const TPhoneCallState& aState ) const;
-        
-        /**
-        * To get number of ongoing calls.
-        * @return Active call count.
-        */
-        TUint8 ActiveCallCount() const;
-        
-        /**
-        * For getting video controller.
-        * @return Video controller reference.
-        */
-        CBubbleVideoController& VideoController() const;
-        
-        /**
-        * To get call state of the bubble.
-        * @return Call state.
-        */
-        TPhoneCallState CallState( const TBubbleId& aBubbleId );
-        
-        /**
-        * Get size for call object image for incall situations. 
-        * @param aIncall Set ETrue for incall states.
-        * @param aBigBubble Set ETrue for big call bubble.
-        * @return The Size.
-        */
-        TSize CallObjectImageIncallSize( TBool aBigBubble = EFalse );
-        
-        /**
-        * Returns touch feature status.
-        * @return ETrue if touch call handling enabled, otherwise EFalse.
-        */
-        TBool IsTouchCallHandling() const;
-        
-        /**
-        * Returns main pane image rect
-        */
-        const TRect MainPaneImageRect( 
-            TBool aTinyImage = EFalse,
-            TBool aThreeLinesShown = EFalse ) const;
-        
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-        * From CCoeControl
-        */
-        void MakeVisible( TBool aVisible );
-
-    private:
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL( const CCoeControl& aContainer, 
-            const TRect& aRect,
-            TBool aBigNEInIdle );
-
-        /**
-        * Activates current place. Place's outlook will read info from header.
-        */
-        void SetActivePlace( const CBubblePlace::TPhoneBubblePlace& aPlace , 
-                             CBubbleHeader& aHeader );
-        
-        /**
-        * Finds header from call headers array.
-        */
-        TBool FindHeader( 
-            const TBubbleId& aBubbleID, 
-            CBubbleHeader*& aHeader ) const;
-        
-        /*
-        * Find header from active headers array
-        */
-        TBool FindActiveHeader( 
-            const TBubbleId& aBubbleID, 
-            CBubbleHeader*& aHeader ) const;
-        
-        /**
-        * Builds up expanded conference call
-        */
-        void BuildExpandedConference();
-        
-        /**
-        * Buils bubbles without NE
-        */
-        void BuildBubbles();
-        
-        /**
-        * Builds bubbles with NE
-        */
-        void BuildBubblesWithNE();
-        
-        /**
-        * Builds bubbles for touch call handling.
-        */
-        void BuildBubblesForTouch();
-        
-        /**
-        * Uses index to navigate through active headers. 
-        */
-        void FindNextDrawableHeader( TUint8& aIndex );
-        
-        /*
-        * Draw lines in expanded conference again.
-        */
-        void UpdateConferenceRows( TRowNumber aRow1, TRowNumber aRow2 );
-
-        /**
-        * Finds header by call state.
-        */            
-        TBool FindHeader( const TPhoneCallState& aCallState,
-                          CBubbleHeader*& aHeader ) const;
-
-        /**
-        * Builds main pane image from call object data.
-        */
-        void BuildMainPaneImage();
-        
-        /**
-        * Reloads call object image.
-        */
-        void ReloadCallObjectImage();
-        
-        /**
-        * DoLayoutCall1 (legacy)
-        */
-        void DoLayoutCall1Bubbles();
-        
-        /**
-        * DoLayoutCall2 (call object bubbles)
-        */
-        void DoLayoutCall2Bubbles();
-        
-        /**
-        * DoLayoutCall4 (touch)
-        */
-        void DoLayoutCall4Bubbles( const TRect& aWindowPane );
-        
-        /**
-        * Start animations
-        */
-        void StartAnimations();
-        
-        /**
-        * Creates video player and starts video playback.
-        */
-        void CreateVideoPlayerAndPlay();
-        
-        /**
-        * Stops video playback and deletes video player.
-        */
-        void StopAndDeleteVideoPlayer();
-        
-        /**
-        * Checks if initializing call exist. Returns ETrue if
-        * initializing call exist otherwise EFalse.
-        */                             
-        TBool InitializingCall() const;                         
-
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // Is phone muted?
-        TBool iIsMuted;
-        // Muted icon (component control).
-        CEikImage* iMutedImage;
-        
-        // Counter for Start-/EndChanges()
-        TUint8 iIsReadyToDraw;
-        
-        // Array for the call infos
-        CArrayPtrFlat<CBubbleCallHeader>* iCallHeaders;
-        // Array for currently used calls
-        CArrayPtrFlat<CBubbleHeader>* iActiveHeaders;
-        // Info object for conference call.
-        CBubbleConfHeader* iConfHeader;
-        
-        // Array for bubble places
-        CArrayPtrFlat<CBubblePlace>* iBubblePlaces;
-        // Shown bubbles (component control)
-        CArrayPtrFlat<CBubblePlace>* iActivePlaces;
-        
-        // Number Entry (component control)
-        CBubbleOutlookNumberEntry* iNumberEntry;
-        
-        // For getting the images.
-        CBubbleImageManager* iImageManager;
-        // For component pool
-        CBubbleResourceManager* iResourceManager;
-        // For customizable UI controls
-        CBubbleCustomManager* iCustomManager;
-
-        // Parent container
-        const CCoeControl* iParentControl;
-
-        // Pointer to the label buffer
-        HBufC* iLabelBuf;
-
-        // Handles number grouping
-        CPNGNumberGrouping* iNumberGrouping;
-
-        // Call object manager
-        CBubbleCallObjectManager* iCallObjectManager;
-        
-        // Main pane control
-        CBubbleMainPaneControl* iMainPaneControl;
-        
-        // Flag indicating change in call object
-        TBool iCallObjectChanged;
-        
-        // Video control.
-        CBubbleVideoController* iVideoController;
-        enum TVideoFlags
-            {
-            EBMVideoSetAsRingTone = 1,
-            EBMVideoBubbleActive = 2,
-            EBMVideoPlayingVideo = 4,
-            };
-        TInt iVideoFlags;
-        
-        // Configuration flags
-        enum TConfigurationFlags
-            {
-            EBMCallObjectDisplay = 1,
-            EBMBigNEInIdleState  = 2,
-            EBMTouchCallhandling = 4
-            };
-        TInt iConfigFlags;
-        
-        // Touchpane object.
-        CBubbleTouchPane* iTouchPane;        
-        
-        // Touchpane visibility.
-        TBool iTouchPaneSetVisible;
-        
-        // Layout variety that depend's on image size.
-        TInt iBottomImageVariety;
-        
-        TBool* iReserved2;
-    };
-
-#endif      // BUBBLEMANAGER_H
-
-// End of File