os/mm/mdfdevvideoextensions/nga_mdf_postprocessor_shai/inc/NGAPostProcSessionManager.h
Update contrib.
2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
19 #ifndef __NGAPOSTPROCSESSIONMANAGER_H__
20 #define __NGAPOSTPROCSESSIONMANAGER_H__
22 #include <graphics/surface.h> //TSurfaceId
23 #include <graphics/surfacemanager.h> //RSurfaceManager
27 class RSurfaceUpdateSession;
28 class MNGAPostProcSessionManagerObserver;
29 class CNGAPostProcNotifier;
31 class CNGAPostProcSessionManager: public CBase
33 friend class CNGAPostProcNotifier;
36 // === Constructors and destructor ===
38 * Two-phased constructor.
39 * @return pointer to an instance of CNGAPostProcSessionManager
41 static CNGAPostProcSessionManager* NewL();
46 ~CNGAPostProcSessionManager();
51 submits buffer to GCE for displaying.
53 @param "aBufId" "ID of the buffer that needs to be displayed."
54 @pre "This method can only be called before the hwdevice has been initialized with Initialize()."
56 TInt PostPicture(const TSurfaceId& aSurfaceId, TInt aBufId, TBool aNotifyRequired);
61 Removes display from the system, if it is already existing.
63 @param "aDisplayId" "ID of the display that needs to be removed from the system"
65 void HandleBufferRelease(TInt aBufId, TInt aStatus);
68 Removes display from the system, if it is already existing.
70 @param "aDisplayId" "ID of the display that needs to be removed from the system"
72 void SetObserver(MNGAPostProcSessionManagerObserver& aObserver);
75 void CreateNotifierL(TInt aNumSurfaceBuffers);
77 void CancelNotifiers();
80 CNGAPostProcSessionManager();
82 * Symbian 2nd phase constructor .
88 Cancels Surface Update Notifications
94 RSurfaceUpdateSession* iSurfaceUpdateSession;
95 MNGAPostProcSessionManagerObserver* iObserver;
96 RPointerArray<CNGAPostProcNotifier> iAOList;
99 #endif //__NGAPOSTPROCSESSIONMANAGER_H__