diff -r 57c618273d5c -r bbf46f59e123 fbs/fontandbitmapserver/sfbs/SESSION.CPP --- a/fbs/fontandbitmapserver/sfbs/SESSION.CPP Thu Aug 19 11:11:18 2010 +0300 +++ b/fbs/fontandbitmapserver/sfbs/SESSION.CPP Tue Aug 31 16:31:06 2010 +0300 @@ -19,14 +19,14 @@ #include "FBSVER.H" #include "FbsRalc.h" #include "fbshelper.h" -#include "fbsmessage.h" +#include "FbsMessage.H" +#include #include "OstTraceDefinitions.h" #include "fbstrace.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "SESSIONTraces.h" #endif - GLDEF_C void Panic(TFbsPanic aPanic) { _LIT(KFBSERVClientPanicCategory,"FBSCLI"); @@ -285,6 +285,7 @@ EXPORT_C TInt RFbsSession::SendCommand(TInt aMessage,TInt aInt0,TInt aInt1,TInt aInt2,TInt aInt3) const { __ASSERT_ALWAYS(iConnections>0,Panic(EFbsPanicBadConnection)); + switch(aMessage) { case EFbsMessShutdown: @@ -294,7 +295,9 @@ default: break; } + TInt ret = SendReceive(aMessage, TIpcArgs(aInt0,aInt1,aInt2,aInt3)); + return(ret); } @@ -536,6 +539,36 @@ return iHelper->iServerSessionHandle; } +EXPORT_C TInt RFbsSession::GetGlyphCacheMetrics( TGlyphCacheMetrics& aGlyphCacheMetrics ) + { + TPckgBuf metrics; + TIpcArgs args( &metrics ); + + TInt ret = SendReceive( EFbsMessGetGlyphCacheMetrics, args ); + aGlyphCacheMetrics = metrics(); + + return ret; + } + +/** + Perform the IPC to convey the desired OoGM action to the glyph atlas. + + @return KErrNone if IPC was successful. One of the system-wide error + codes, as described for RSessionBase::SendReceive(), if not. + + @note The server-side platform security policy applied to this method is such that it is only useable by the GOoM framework. + + @param aOogmMessage. A reference to the class encapsulating the OoGM action required of the glyph atlas. +*/ +EXPORT_C TInt RFbsSession::ConveyOogmMessage( TFbsOogmMessage& aOogmMessage ) + { + TPckgBuf oogmMessage; + oogmMessage() = aOogmMessage; + TIpcArgs args( &oogmMessage ); + + return SendReceive( EFbsMessOogmNotification, args ); + } + /** Returns the current sizes of the FBServ default heap, the heap for large bitmaps, and the heap for small bitmaps.