uiacceltk/hitchcock/Client/inc/alfclient.h
author hgs
Wed, 03 Nov 2010 19:29:22 +0200
changeset 64 9f8c0686fb49
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:   Client class for the alfredserver.exe
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#ifndef R_ALFCLIENT_H
hgs
parents:
diff changeset
    21
#define R_ALFCLIENT_H
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <alf/alfconstants.h>
hgs
parents:
diff changeset
    24
#include <alf/alfclientbase.h>
hgs
parents:
diff changeset
    25
#include "alf/alfvisual.h"
hgs
parents:
diff changeset
    26
#include "alf/alflayout.h"
hgs
parents:
diff changeset
    27
#include "alf/alfenv.h"
hgs
parents:
diff changeset
    28
#include "alf/alftexture.h"
hgs
parents:
diff changeset
    29
#include "alf/alfimage.h"
hgs
parents:
diff changeset
    30
#include "alf/alfroster.h"
hgs
parents:
diff changeset
    31
#include "alf/alfbatchbuffer.h"
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
#include <AknsItemID.h>
hgs
parents:
diff changeset
    34
#include <gdi.h>
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
/**
hgs
parents:
diff changeset
    37
 *  Alfred client.
hgs
parents:
diff changeset
    38
 *
hgs
parents:
diff changeset
    39
 *  @lib alfclient.lib
hgs
parents:
diff changeset
    40
 *  @since S60 v3.2
hgs
parents:
diff changeset
    41
 */
hgs
parents:
diff changeset
    42
NONSHARABLE_CLASS( RAlfClient ): public RAlfClientBase
hgs
parents:
diff changeset
    43
    {
hgs
parents:
diff changeset
    44
    
hgs
parents:
diff changeset
    45
public:
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
    /**
hgs
parents:
diff changeset
    48
     * Constructor
hgs
parents:
diff changeset
    49
     */
hgs
parents:
diff changeset
    50
    RAlfClient();
hgs
parents:
diff changeset
    51
    
hgs
parents:
diff changeset
    52
    /**
hgs
parents:
diff changeset
    53
     * Disconnect from the server. Must be called before destruction (not just Close() )
hgs
parents:
diff changeset
    54
     */ 
hgs
parents:
diff changeset
    55
    void Disconnect();
hgs
parents:
diff changeset
    56
    
hgs
parents:
diff changeset
    57
// Env
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
    /**
hgs
parents:
diff changeset
    60
     * Sets the refresh mode.
hgs
parents:
diff changeset
    61
     *
hgs
parents:
diff changeset
    62
     * @Todo: should be protected with capability or deprecated completely(?)
hgs
parents:
diff changeset
    63
     * @param aMode  New refresh mode.
hgs
parents:
diff changeset
    64
     *
hgs
parents:
diff changeset
    65
     * @see TAlfRefreshMode
hgs
parents:
diff changeset
    66
     */
hgs
parents:
diff changeset
    67
    void EnvSetRefreshMode( TAlfRefreshMode aMode );
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    /**
hgs
parents:
diff changeset
    70
     * @Todo: should be protected with capability or deprecated completely(?)
hgs
parents:
diff changeset
    71
     * Sets the maximum allowed frame rate. Specify 0.0 to use the default limit.
hgs
parents:
diff changeset
    72
     *
hgs
parents:
diff changeset
    73
     * @param aFrameRate  New maximum frame rate in frames per second.
hgs
parents:
diff changeset
    74
     */
hgs
parents:
diff changeset
    75
    void EnvSetMaxFrameRate( TReal32 aFrameRate );
hgs
parents:
diff changeset
    76
    
hgs
parents:
diff changeset
    77
    /**
hgs
parents:
diff changeset
    78
     * Continues normal display refreshing. If display refreshing is already
hgs
parents:
diff changeset
    79
     * being done, calling this has no effect. This is called automatically
hgs
parents:
diff changeset
    80
     * from inside the toolkit when something is done that may lead to a
hgs
parents:
diff changeset
    81
     * visible change on a display. The application may also call this if it
hgs
parents:
diff changeset
    82
     * has previously paused refresh with PauseRefresh().
hgs
parents:
diff changeset
    83
     */
hgs
parents:
diff changeset
    84
    void EnvContinueRefresh();
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
    /**
hgs
parents:
diff changeset
    87
     * Pauses display refreshing temporarily. This is called when it is clear
hgs
parents:
diff changeset
    88
     * that any displays will not be updated soon. The application may call
hgs
parents:
diff changeset
    89
     * this at times when it needs more processing time for other tasks.
hgs
parents:
diff changeset
    90
     */
hgs
parents:
diff changeset
    91
    void EnvPauseRefresh();
hgs
parents:
diff changeset
    92
    
hgs
parents:
diff changeset
    93
    /**
hgs
parents:
diff changeset
    94
     * Called on manual refresh.
hgs
parents:
diff changeset
    95
     */
hgs
parents:
diff changeset
    96
    void EnvRefreshCallBack();
hgs
parents:
diff changeset
    97
    
hgs
parents:
diff changeset
    98
    /**
hgs
parents:
diff changeset
    99
     * Determines which renderer is currently in use. Always returns the real
hgs
parents:
diff changeset
   100
     * explicit identifier of the renderer, and not an ambiguous identifier
hgs
parents:
diff changeset
   101
     * like "Default".
hgs
parents:
diff changeset
   102
     */
hgs
parents:
diff changeset
   103
    TInt EnvRenderer() const;
hgs
parents:
diff changeset
   104
    
hgs
parents:
diff changeset
   105
    /**
hgs
parents:
diff changeset
   106
     * Sets the interval before an idle notification is sent. 
hgs
parents:
diff changeset
   107
     *
hgs
parents:
diff changeset
   108
     * @param aSeconds  Threshold in milliseconds.
hgs
parents:
diff changeset
   109
     */
hgs
parents:
diff changeset
   110
    void EnvSetIdleThreshold(TInt aMilliseconds);
hgs
parents:
diff changeset
   111
   
hgs
parents:
diff changeset
   112
// Roster
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
    /**
hgs
parents:
diff changeset
   115
     * Shows given control group in the roster using given display.
hgs
parents:
diff changeset
   116
     *
hgs
parents:
diff changeset
   117
     * @param aCntrlGroupHandle Handle to the server side object.
hgs
parents:
diff changeset
   118
     * @param aWhere Where on the roster (top/under/middle/...)
hgs
parents:
diff changeset
   119
     * @param aDisplayHandle Handle to the server side object.
hgs
parents:
diff changeset
   120
     * @return Error code.
hgs
parents:
diff changeset
   121
     */
hgs
parents:
diff changeset
   122
    TInt RosterShow( TInt aCntrlGroupHandle, TInt aWhere, TInt aDisplayHandle );
hgs
parents:
diff changeset
   123
    
hgs
parents:
diff changeset
   124
    /**
hgs
parents:
diff changeset
   125
     * Hides given control group.
hgs
parents:
diff changeset
   126
     *
hgs
parents:
diff changeset
   127
     * @param aCntrlGroupHandle Handle to the server side object.
hgs
parents:
diff changeset
   128
     * @param aDisplayHandle Handle to the server side object.
hgs
parents:
diff changeset
   129
     * @return Error code.
hgs
parents:
diff changeset
   130
     */
hgs
parents:
diff changeset
   131
    TInt RosterHide( TInt aCntrlGroupHandle, TInt aDisplayHandle );
hgs
parents:
diff changeset
   132
    
hgs
parents:
diff changeset
   133
    TInt RosterShowVisual( TInt aVisualHandle, TInt aDisplayHandle );
hgs
parents:
diff changeset
   134
    TInt RosterHideVisual( TInt aVisualHandle,  TInt aDisplayHandle );
hgs
parents:
diff changeset
   135
    TInt RosterMoveVisualToFront( TInt aVisualHandle, TInt aDisplayHandle );
hgs
parents:
diff changeset
   136
    
hgs
parents:
diff changeset
   137
    TInt RosterSetPointerEventObservers( TInt aFlags, TInt aCntrlHandle, TInt aDisplayHandle );
hgs
parents:
diff changeset
   138
    TInt RosterAddPointerEventObserver( TAlfPointerEventFlags aObserver, TInt aCntrlHandle, TInt aDisplayHandle );
hgs
parents:
diff changeset
   139
    TInt RosterRemovePointerEventObserver( TAlfPointerEventFlags aObserver, TInt aCntrlHandle, TInt aDisplayHandle );
hgs
parents:
diff changeset
   140
hgs
parents:
diff changeset
   141
    TInt RosterSetPointerDragTreshold( TInt aCntrlHandle, const TAlfXYMetric& aXYMetric, TInt aDisplayHandle );
hgs
parents:
diff changeset
   142
    TInt RosterDisableLongTapEventsWhenDragging( TInt aCntrlHandle, TBool aDisable, TInt aDisplayHandle );
hgs
parents:
diff changeset
   143
    
hgs
parents:
diff changeset
   144
// Static
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
// Texture 
hgs
parents:
diff changeset
   147
    
hgs
parents:
diff changeset
   148
    /**
hgs
parents:
diff changeset
   149
     * Updates owner id.
hgs
parents:
diff changeset
   150
     * This method must be called before calling other texture related methods.
hgs
parents:
diff changeset
   151
     * @return Error code.
hgs
parents:
diff changeset
   152
     */
hgs
parents:
diff changeset
   153
    TInt TextureUpdateOwnerId();
hgs
parents:
diff changeset
   154
    
hgs
parents:
diff changeset
   155
    /**
hgs
parents:
diff changeset
   156
     * Creates new texture. Leaves on error.
hgs
parents:
diff changeset
   157
     *
hgs
parents:
diff changeset
   158
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   159
     * @param aFlags Texture flags.
hgs
parents:
diff changeset
   160
     * @param aFilename the filename of the image
hgs
parents:
diff changeset
   161
     * @return Error code.
hgs
parents:
diff changeset
   162
     */
hgs
parents:
diff changeset
   163
    TInt TextureCreateAnimatedL(TInt aId, TAlfTextureFlags aFlags, TInt aManagerId, const TDesC& aFilename);
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
    /**
hgs
parents:
diff changeset
   166
     * Creates new texture. Leaves on error.
hgs
parents:
diff changeset
   167
     *
hgs
parents:
diff changeset
   168
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   169
     * @param aBitmapHandle Handle to the bitmap.
hgs
parents:
diff changeset
   170
     * @param aMaskBitmapHandle Handle to the bitmap mask.
hgs
parents:
diff changeset
   171
     * @param aFlags Texture flags.
hgs
parents:
diff changeset
   172
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   173
     * @return Error code.
hgs
parents:
diff changeset
   174
     */
hgs
parents:
diff changeset
   175
    TInt TextureCreateL( TInt aId, TInt aBitmapHandle, TInt aMaskBitmapHandle, TAlfTextureFlags aFlags, TInt aManagerId );
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
    /**
hgs
parents:
diff changeset
   178
     * Loads texture. Leaves on error.
hgs
parents:
diff changeset
   179
     *
hgs
parents:
diff changeset
   180
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   181
     * @param aBitmapHandle Handle to the bitmap.
hgs
parents:
diff changeset
   182
     * @param aMaskBitmapHandle Handle to the bitmap mask.
hgs
parents:
diff changeset
   183
     * @param aFlags Texture flags.
hgs
parents:
diff changeset
   184
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   185
     * @return Error code.
hgs
parents:
diff changeset
   186
     */
hgs
parents:
diff changeset
   187
	TInt TextureLoadL( TInt aId, TInt aBitmapHandle, TInt aMaskBitmapHandle, TAlfTextureFlags aFlags, TInt aManagerId  );
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
    /**
hgs
parents:
diff changeset
   190
     * Unloads given texture. 
hgs
parents:
diff changeset
   191
     *
hgs
parents:
diff changeset
   192
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   193
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   194
     * @return Error code.
hgs
parents:
diff changeset
   195
     */
hgs
parents:
diff changeset
   196
	TInt TextureUnload( TInt aId, TInt aManagerId );
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
    /**
hgs
parents:
diff changeset
   199
     * Releases given texture.
hgs
parents:
diff changeset
   200
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   201
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   202
     * @return Error code.
hgs
parents:
diff changeset
   203
     */
hgs
parents:
diff changeset
   204
	TInt TextureRelease( TInt aId, TInt aManagerId );
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
    /**
hgs
parents:
diff changeset
   207
     * Restores given texture.
hgs
parents:
diff changeset
   208
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   209
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   210
     * @return Error code.
hgs
parents:
diff changeset
   211
     */
hgs
parents:
diff changeset
   212
	TInt TextureRestore( TInt aId, TInt aManagerId );
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
    /**
hgs
parents:
diff changeset
   215
     * Notifies skin change for given texture.
hgs
parents:
diff changeset
   216
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   217
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   218
     * @return Error code.
hgs
parents:
diff changeset
   219
     */
hgs
parents:
diff changeset
   220
	TInt TextureNotifySkinChanged( TInt aId, TInt aManagerId );
hgs
parents:
diff changeset
   221
hgs
parents:
diff changeset
   222
    /**
hgs
parents:
diff changeset
   223
     * Blurs given texture. 
hgs
parents:
diff changeset
   224
     *
hgs
parents:
diff changeset
   225
     */
hgs
parents:
diff changeset
   226
	TInt TextureProcessorBlurL( const TInt aServerSideSrcHandle, 
hgs
parents:
diff changeset
   227
	    TInt aServerSideDstHandle, 
hgs
parents:
diff changeset
   228
	    TInt aManagerId, 
hgs
parents:
diff changeset
   229
	    const TSize& aPreferredSize, 
hgs
parents:
diff changeset
   230
	    TInt aFilterSize, 
hgs
parents:
diff changeset
   231
	    TInt aFlag );
hgs
parents:
diff changeset
   232
hgs
parents:
diff changeset
   233
    /**
hgs
parents:
diff changeset
   234
     * Checks if given texture has content. 
hgs
parents:
diff changeset
   235
     *
hgs
parents:
diff changeset
   236
     */
hgs
parents:
diff changeset
   237
	TInt TextureHasContent( TBool& aHasContent, TInt aId, TInt aManagerId );
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
    /**
hgs
parents:
diff changeset
   240
     * Delete given texture. 
hgs
parents:
diff changeset
   241
     *
hgs
parents:
diff changeset
   242
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   243
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   244
     * @return Error code.
hgs
parents:
diff changeset
   245
     */
hgs
parents:
diff changeset
   246
	TInt TextureDelete( TInt aId, TInt aManagerId );
hgs
parents:
diff changeset
   247
hgs
parents:
diff changeset
   248
    /**
hgs
parents:
diff changeset
   249
     * Starts to animate the texture if the texture
hgs
parents:
diff changeset
   250
     * was animated.
hgs
parents:
diff changeset
   251
     *
hgs
parents:
diff changeset
   252
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   253
     */
hgs
parents:
diff changeset
   254
    TInt TextureStartAnimation( TInt aId );
hgs
parents:
diff changeset
   255
    
hgs
parents:
diff changeset
   256
    /**
hgs
parents:
diff changeset
   257
     * Stops the texture animation if the texture
hgs
parents:
diff changeset
   258
     * was animated.
hgs
parents:
diff changeset
   259
     *
hgs
parents:
diff changeset
   260
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   261
     */
hgs
parents:
diff changeset
   262
    TInt TextureStopAnimation( TInt aId );
hgs
parents:
diff changeset
   263
hgs
parents:
diff changeset
   264
    /** 
hgs
parents:
diff changeset
   265
     * Notifies texture information.
hgs
parents:
diff changeset
   266
     * @param aStatus request status.
hgs
parents:
diff changeset
   267
     * @param aDest destination buffer which will contain events.
hgs
parents:
diff changeset
   268
     */
hgs
parents:
diff changeset
   269
    void TextureNotifyInfo( TRequestStatus& aStatus, TDes8& aDest );
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
    /**
hgs
parents:
diff changeset
   272
     * Cancels texture information notification.
hgs
parents:
diff changeset
   273
     */
hgs
parents:
diff changeset
   274
    void TextureCancelNotifyInfo();
hgs
parents:
diff changeset
   275
hgs
parents:
diff changeset
   276
    /**
hgs
parents:
diff changeset
   277
     * Sets parameters for the preferred size calculation.
hgs
parents:
diff changeset
   278
     * 
hgs
parents:
diff changeset
   279
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   280
     * @param aManagerId Id of texture manager
hgs
parents:
diff changeset
   281
     * @param aParams auto size paramters.
hgs
parents:
diff changeset
   282
     */
hgs
parents:
diff changeset
   283
    TInt TextureSetAutoSizeParams( TInt aId, TInt aManagerId, const TAlfTextureAutoSizeParams& aParams );
hgs
parents:
diff changeset
   284
    
hgs
parents:
diff changeset
   285
    /**
hgs
parents:
diff changeset
   286
     * Cleans the animated texture content
hgs
parents:
diff changeset
   287
     *
hgs
parents:
diff changeset
   288
     * @param aId ID of the texture.
hgs
parents:
diff changeset
   289
     */
hgs
parents:
diff changeset
   290
    TInt ClearTextureAnimation( TInt aId );
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
// Misc
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
    /**
hgs
parents:
diff changeset
   295
    * Notify server about this application foreground status
hgs
parents:
diff changeset
   296
    */ 
hgs
parents:
diff changeset
   297
    void ApplicationIsForeground(TBool aIsPartiallyOrFullyForeground);
hgs
parents:
diff changeset
   298
    
hgs
parents:
diff changeset
   299
    void RequestPointerEvents(TDes8& aEventAsDescriptor, TRequestStatus& aStatus);
hgs
parents:
diff changeset
   300
hgs
parents:
diff changeset
   301
    void CancelPointerEvents();
hgs
parents:
diff changeset
   302
    
hgs
parents:
diff changeset
   303
    void SetFullScreenDrawing(TBool aEnable);
hgs
parents:
diff changeset
   304
    
hgs
parents:
diff changeset
   305
    TInt LayoutMetricsTextStyleData(TInt& aFontCategory, TInt aTextStyle);
hgs
parents:
diff changeset
   306
    
hgs
parents:
diff changeset
   307
    void RequestSystemEvents(TDes8& aEventAsDescriptor, TRequestStatus& aStatus);
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
    void CancelSystemEvents();
hgs
parents:
diff changeset
   310
    
hgs
parents:
diff changeset
   311
    void SetWgParent(TInt aParentId);
hgs
parents:
diff changeset
   312
    
hgs
parents:
diff changeset
   313
    /** 
hgs
parents:
diff changeset
   314
     * Generic command
hgs
parents:
diff changeset
   315
     */
hgs
parents:
diff changeset
   316
	void SendCmd(TUint aCmd, TDes8& aBuf);
hgs
parents:
diff changeset
   317
    
hgs
parents:
diff changeset
   318
    /** 
hgs
parents:
diff changeset
   319
     * Generic synchronous command
hgs
parents:
diff changeset
   320
     */
hgs
parents:
diff changeset
   321
	TInt SendSyncCmd(TUint aCmd, TDes8& aBuf);
hgs
parents:
diff changeset
   322
hgs
parents:
diff changeset
   323
    /** 
hgs
parents:
diff changeset
   324
     * Generic asynchronous command
hgs
parents:
diff changeset
   325
     */
hgs
parents:
diff changeset
   326
	void SendAsyncCmd(TUint aCmd, TDes8& aBuf, TRequestStatus& aStatus);
hgs
parents:
diff changeset
   327
     
hgs
parents:
diff changeset
   328
     
hgs
parents:
diff changeset
   329
    TInt SendNoReply(TUint aOp, const TDesC8& aInputBuf, TInt aSubSessionHandle);
hgs
parents:
diff changeset
   330
    
hgs
parents:
diff changeset
   331
    TAlfAutoFlushMode AutoFlushMode() const;
hgs
parents:
diff changeset
   332
    void SetAutoFlushMode( TAlfAutoFlushMode aAutoFlushMode );
hgs
parents:
diff changeset
   333
    TInt FlushBatchBuffer();
hgs
parents:
diff changeset
   334
    void SetMaxBatchBufferSize( TInt aBufferSize );
hgs
parents:
diff changeset
   335
    TInt GetBatchBufferInfo( TAlfBatchBufferInfoType aBufferInfoType ) const;
hgs
parents:
diff changeset
   336
    
hgs
parents:
diff changeset
   337
   /** 
hgs
parents:
diff changeset
   338
    * Post QT command buffer to server side canvas
hgs
parents:
diff changeset
   339
    */
hgs
parents:
diff changeset
   340
    TInt PostQtBuffer( TInt aWsWgId, TInt aWsClientId, TDes8& aCommandBuffer, 
hgs
parents:
diff changeset
   341
           TAlfCommandBufferStatus aStatus );
hgs
parents:
diff changeset
   342
private:
hgs
parents:
diff changeset
   343
    TInt AllocateExtendedBuffer( TInt aMoreSpaceNeeded );
hgs
parents:
diff changeset
   344
    inline static void AppendPadding( TDes8& aBuffer, TInt aAmount );
hgs
parents:
diff changeset
   345
    
hgs
parents:
diff changeset
   346
private:
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
    HBufC8* iDefaultBatchBuffer; // owned
hgs
parents:
diff changeset
   349
    HBufC8* iExtendedBatchBuffer; // owned
hgs
parents:
diff changeset
   350
    HBufC8* iUsedBatchBuffer; // not owned. points to iDefaultBatchBuffer or iExtendedBatchBuffer
hgs
parents:
diff changeset
   351
    
hgs
parents:
diff changeset
   352
    class CBatchBufferAutoFlusher;
hgs
parents:
diff changeset
   353
    CBatchBufferAutoFlusher* iAutoFlusher;
hgs
parents:
diff changeset
   354
    
hgs
parents:
diff changeset
   355
    TAlfAutoFlushMode iAutoFlushMode;
hgs
parents:
diff changeset
   356
    TInt iUsedMaxBufferSize;
hgs
parents:
diff changeset
   357
    };
hgs
parents:
diff changeset
   358
hgs
parents:
diff changeset
   359
hgs
parents:
diff changeset
   360
#endif // R_ALFCLIENT_H