1284 SetReply(TWsPointer::GetExitHighPressureThreshold()); |
1284 SetReply(TWsPointer::GetExitHighPressureThreshold()); |
1285 break; |
1285 break; |
1286 case EWsClOpCreateDrawableSource: |
1286 case EWsClOpCreateDrawableSource: |
1287 CreateDrawableSourceL(*pData.CreateDrawableSource); |
1287 CreateDrawableSourceL(*pData.CreateDrawableSource); |
1288 break; |
1288 break; |
1289 case EWsClOpIndicateAppOrientation: |
|
1290 IndicateAppOrientation(*pData.Orientation); |
|
1291 break; |
|
1292 default: |
1289 default: |
1293 PPanic(EWservPanicOpcode); |
1290 PPanic(EWservPanicOpcode); |
1294 break; |
1291 break; |
1295 } |
1292 } |
1296 } |
1293 } |
1835 SetClientPriority(); |
1832 SetClientPriority(); |
1836 } |
1833 } |
1837 |
1834 |
1838 void CWsClient::CompleteMessage(const RMessage2& aMessage,TInt aReason) |
1835 void CWsClient::CompleteMessage(const RMessage2& aMessage,TInt aReason) |
1839 { |
1836 { |
1840 WS_ASSERT_DEBUG(!aMessage.IsNull(),EWsPanicPanicFlagError); |
1837 WS_ASSERT_DEBUG(!aMessage.IsNull(),EWsPanicCompleteNullMessage); |
1841 if (iInternalFlags&EPanicClientAsSoonAsPossible) |
1838 // This defensive check should not be necessary as aMessage should never |
1842 { |
1839 // be null, but in rare situations it is and WServ would die without this check. |
1843 aMessage.Panic(KWSERVSessionPanicCategory,iPanicReason); |
1840 if (!aMessage.IsNull()) |
1844 iInternalFlags&=~EPanicClientAsSoonAsPossible; |
1841 { |
1845 } |
1842 if (iInternalFlags&EPanicClientAsSoonAsPossible) |
1846 else |
1843 { |
1847 { |
1844 aMessage.Panic(KWSERVSessionPanicCategory,iPanicReason); |
1848 if(!iResponseHandle) |
1845 iInternalFlags&=~EPanicClientAsSoonAsPossible; |
1849 aMessage.Complete(aReason); |
1846 } |
1850 else |
1847 else |
1851 { |
1848 { |
1852 aMessage.Complete(*iResponseHandle); |
1849 if(!iResponseHandle) |
1853 iResponseHandle=NULL; |
1850 aMessage.Complete(aReason); |
1854 } |
1851 else |
1855 } |
1852 { |
1856 } |
1853 aMessage.Complete(*iResponseHandle); |
|
1854 iResponseHandle=NULL; |
|
1855 } |
|
1856 } |
|
1857 } |
|
1858 } |
1857 |
1859 |
1858 void CWsClient::ServiceError(const RMessage2& /*aMessage*/,TInt aError) |
1860 void CWsClient::ServiceError(const RMessage2& /*aMessage*/,TInt aError) |
1859 { |
1861 { |
1860 CompleteMessage(iClientMessage,aError); // (finish) |
1862 CompleteMessage(iClientMessage,aError); // (finish) |
1861 } |
1863 } |
2139 CWsDrawableSource* drawableSource = new(ELeave) CWsDrawableSource(this); |
2141 CWsDrawableSource* drawableSource = new(ELeave) CWsDrawableSource(this); |
2140 CleanupStack::PushL(drawableSource); |
2142 CleanupStack::PushL(drawableSource); |
2141 drawableSource->ConstructL(aDrawableSourceData); |
2143 drawableSource->ConstructL(aDrawableSourceData); |
2142 CleanupStack::Pop(); |
2144 CleanupStack::Pop(); |
2143 } |
2145 } |
2144 |
|
2145 void CWsClient::IndicateAppOrientation(TRenderOrientation aOrientation) |
|
2146 { |
|
2147 iIndicatedAppOrientation = aOrientation; |
|
2148 CWsTop::CheckRenderOrientation(); |
|
2149 } |
|
2150 |
|
2151 TInt CWsClient::GetIndicatedAppOrientation() |
|
2152 { |
|
2153 return iIndicatedAppOrientation; |
|
2154 } |
|
2155 |
2146 |
2156 // |
2147 // |
2157 // class CWsCliObj |
2148 // class CWsCliObj |
2158 // |
2149 // |
2159 |
2150 |