--- a/sysresmonitoring/oommonitor/src/oommonitorsession.cpp Tue Feb 02 10:12:00 2010 +0200
+++ b/sysresmonitoring/oommonitor/src/oommonitorsession.cpp Fri Feb 19 22:58:54 2010 +0200
@@ -16,33 +16,104 @@
*/
-#include "oommonitorsession.h"
+#include <coemain.h>
+#include <oommonitorsession.h>
#include "oommonitorclientserver.h"
+#include "oompanic.h"
+#include "oomtraces.h"
EXPORT_C TInt ROomMonitorSession::Connect()
- {
- return CreateSession(KMemoryMonitorServerName, TVersion(0,0,0));
- }
+ {
+ FUNC_LOG;
+
+ return CreateSession(KMemoryMonitorServerName, TVersion(0,0,0));
+ }
EXPORT_C TInt ROomMonitorSession::RequestFreeMemory(TInt aBytesRequested)
- {
- TIpcArgs p(aBytesRequested);
- return SendReceive(EOomMonitorRequestFreeMemory, p);
- }
+ {
+ FUNC_LOG;
+
+ TIpcArgs p(aBytesRequested);
+ return SendReceive(EOomMonitorRequestFreeMemory, p);
+ }
+
+EXPORT_C TInt ROomMonitorSession::RequestOptionalRam(TInt aBytesRequested, TInt aMinimumBytesNeeded, TInt aPluginId, TInt& aBytesAvailable)
+ {
+ FUNC_LOG;
+
+ TIpcArgs p(aBytesRequested, aMinimumBytesNeeded, aPluginId, aBytesAvailable);
+ TInt ret = SendReceive(EOomMonitorRequestOptionalRam, p);
+ if (ret >= 0)
+ {
+ aBytesAvailable = ret;
+ ret = KErrNone;
+ }
+
+ return ret;
+ }
+
+
+
+EXPORT_C void ROomMonitorSession::RequestOptionalRam(TInt aBytesRequested, TInt aMinimumBytesNeeded, TInt aPluginId, TRequestStatus& aStatus)
+ {
+ FUNC_LOG;
+
+ TIpcArgs p(aBytesRequested, aMinimumBytesNeeded, aPluginId);
+ SendReceive(EOomMonitorRequestOptionalRam, p, aStatus);
+ }
EXPORT_C void ROomMonitorSession::RequestFreeMemory(TInt aBytesRequested, TRequestStatus& aStatus)
- {
- TIpcArgs p(aBytesRequested);
- SendReceive(EOomMonitorRequestFreeMemory, p, aStatus);
- }
+ {
+ FUNC_LOG;
+
+ TIpcArgs p(aBytesRequested);
+ SendReceive(EOomMonitorRequestFreeMemory, p, aStatus);
+ }
EXPORT_C void ROomMonitorSession::CancelRequestFreeMemory()
- {
- SendReceive(EOomMonitorCancelRequestFreeMemory, TIpcArgs());
- }
+ {
+ FUNC_LOG;
+
+ SendReceive(EOomMonitorCancelRequestFreeMemory, TIpcArgs());
+ }
EXPORT_C void ROomMonitorSession::ThisAppIsNotExiting(TInt aWgId)
- {
- TIpcArgs p(aWgId);
- SendReceive(EOomMonitorThisAppIsNotExiting, p);
- }
+ {
+ FUNC_LOG;
+
+ TIpcArgs p(aWgId);
+ SendReceive(EOomMonitorThisAppIsNotExiting, p);
+ }
+
+
+EXPORT_C void ROomMonitorSession::SetOomPriority(TOomPriority aPriority)
+ {
+ FUNC_LOG;
+
+ CCoeEnv* coeEnv = CCoeEnv::Static();
+
+ __ASSERT_DEBUG(coeEnv, OomMonitorPanic(KNoCoeEnvFound));
+
+ if (coeEnv)
+ {
+ TInt wgId = coeEnv->RootWin().Identifier();
+ TIpcArgs p(wgId);
+ switch (aPriority)
+ {
+ case EOomPriorityNormal:
+ SendReceive(EOomMonitorSetPriorityNormal, p);
+ break;
+ case EOomPriorityHigh:
+ SendReceive(EOomMonitorSetPriorityHigh, p);
+ break;
+ case EOomPriorityBusy:
+ SendReceive(EOomMonitorSetPriorityBusy, p);
+ break;
+ default:
+ OomMonitorPanic(KOomInvalidPriority);
+ break;
+ }
+ }
+ }
+
+