fbs/fontandbitmapserver/sfbs/SESSION.CPP
branchRCL_3
changeset 163 bbf46f59e123
parent 150 57c618273d5c
child 164 25ffed67c7ef
--- 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 <graphics/fbsoogmmessage.h>
 #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<TGlyphCacheMetrics> 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<TFbsOogmMessage> 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.