First public contribution.
1 // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #include <graphics/surfaceupdateclient.h>
17 #include <graphics/surface.h>
18 #include <graphics/suerror.h>
19 #include "testgceharness.h"
21 inline void SurfaceUpdateAssert(TInt aCond) {__ASSERT_ALWAYS(aCond, User::Panic(_L("surfaceupdateclient.cpp; assertion failed"), __LINE__));}
23 EXPORT_C RSurfaceUpdateSession::RSurfaceUpdateSession() :
25 iStatusAvailable(NULL), iStatusDisplayed(NULL), iStatusDisplayedXTimes(NULL)
29 EXPORT_C TInt RSurfaceUpdateSession::Connect(TInt /*aMessageSlots*/)
31 iStatusAvailable = NULL;
32 iStatusDisplayed = NULL;
33 iStatusDisplayedXTimes = NULL;
35 CTestGCEHarness* gceHarness = NULL;
36 TRAPD(err, gceHarness = CTestGCEHarness::RetrieveL());
41 return gceHarness->Connect();
44 EXPORT_C void RSurfaceUpdateSession::Close()
46 iStatusAvailable = NULL;
47 iStatusDisplayed = NULL;
48 iStatusDisplayedXTimes = NULL;
50 CTestGCEHarness* gceHarness = NULL;
51 TRAPD(err, gceHarness = CTestGCEHarness::RetrieveL());
59 EXPORT_C TInt RSurfaceUpdateSession::SubmitUpdate(TInt aScreen, const TSurfaceId& aSurfaceId,
60 TInt aBuffer, const TRegion* /*aDirtyRegion*/)
62 if(aScreen != KAllScreens || aBuffer < 0 || aSurfaceId.IsNull())
64 IssueRequestComplete(KErrArgument);
68 CTestGCEHarness* gceHarness = NULL;
69 TRAPD(err, gceHarness = CTestGCEHarness::RetrieveL());
74 return gceHarness->SubmitUpdate(aBuffer);
77 EXPORT_C void RSurfaceUpdateSession::NotifyWhenAvailable(TRequestStatus& aStatus)
79 CTestGCEHarness* gceHarness = NULL;
80 TRAPD(err, gceHarness = CTestGCEHarness::RetrieveL());
87 gceHarness->NotifyWhenAvailable(aStatus);
90 EXPORT_C void RSurfaceUpdateSession::NotifyWhenDisplayed(TRequestStatus& aStatus, TTimeStamp& aTimeStamp)
92 CTestGCEHarness* gceHarness = NULL;
93 TRAPD(err, gceHarness = CTestGCEHarness::RetrieveL());
100 gceHarness->NotifyWhenDisplayed(aStatus, aTimeStamp);
103 EXPORT_C void RSurfaceUpdateSession::NotifyWhenDisplayedXTimes(TInt aCount, TRequestStatus &aStatus)
105 iStatusDisplayedXTimes = &aStatus;
106 //we will check aCount validity at submission time (in SubmitUpdate)
110 EXPORT_C void RSurfaceUpdateSession::CancelAllUpdateNotifications()
112 CTestGCEHarness* gceHarness = NULL;
113 TRAPD(err, gceHarness = CTestGCEHarness::RetrieveL());
118 gceHarness->CancelAllNotifications();
121 TVersion RSurfaceUpdateSession::Version() const
123 return (TVersion(1, 1, 1));
126 void RSurfaceUpdateSession::IssueRequestComplete(TInt /*aErr*/)