dcmofw/dcmoserver/src/dcmosession.cpp
branchRCL_3
changeset 26 19bba8228ff0
parent 25 b183ec05bd8c
--- a/dcmofw/dcmoserver/src/dcmosession.cpp	Tue Aug 31 16:04:06 2010 +0300
+++ b/dcmofw/dcmoserver/src/dcmosession.cpp	Wed Sep 01 12:27:42 2010 +0100
@@ -19,9 +19,8 @@
 
 #include "dcmosession.h"
 #include "dcmoclientserver.h"
-#include "dcmomessagebox.h"
 #include "dcmodebug.h"
-
+#include "lawmodebug.h"
 
 // ----------------------------------------------------------------------------------------
 // CDCMOSession::CDCMOSession
@@ -69,15 +68,13 @@
 	RDEBUG_2("CDCMOSession::DispatchMessageL; %d", aMessage.Function() );
   TInt value; 
   TDCMOStatus statusValue;
+  TLawMoStatus lstatusValue;
   TDCMONode nodeValue;
   TPckg<TDCMOStatus> status(statusValue);
+  TPckg<TLawMoStatus> lstatus(lstatusValue);
   TPckg<TDCMONode> node(nodeValue);
   TPckg<TInt> intvalue(value);
   
-  if(CDCMOMessageBox::IsMsgBoxClosed())
-  	{
-  		Server().CleanDcmoArray();
-  	}
   HBufC*     category  = HBufC::NewLC(KDCMOMaxStringSize);
   TPtr       categoryptr  = category->Des(); 
   aMessage.Read (0, categoryptr);           
@@ -157,6 +154,88 @@
 						RDEBUG("CDCMOSession::DispatchMessageL - EDcmoSearchAdapter status " );
 	    	}
 	    	break;	
+	    case EWipe:
+	        {
+            //HBufC*     item  = HBufC::NewLC(KDCMOMaxStringSize);
+            //TPtr       itemPtr  = category->Des(); 
+            //aMessage.Read (0, itemPtr); 
+	        //aMessage.Complete(KErrNone);
+	        //RDEBUG("CDCMOSession::EWipe force complete the request");
+	        lstatusValue = Server().WipeItem(); 
+            aMessage.Write (0, lstatus);
+            //CleanupStack::PopAndDestroy();
+            RLDEBUG_2("CDCMOSession::DispatchMessageL EWipe %d", lstatusValue );
+	        }
+	        break;
+	        
+	    case EWipeAll:
+	        {
+	        //TInt aForce(1);
+	        lstatusValue = Server().WipeAllItem(); 
+	        aMessage.Write (0, lstatus);
+            RLDEBUG_2("CDCMOSession::DispatchMessageL EWipeAll %d", lstatusValue );
+	        }
+	        break;
+	        
+	    case EListItemName_Get:
+	        {
+	        HBufC*     buf1  = HBufC::NewLC(KDCMOMaxStringSize);
+	        TPtr       bufPtr1  = buf1->Des();
+	        HBufC*     item  = HBufC::NewLC(KDCMOMaxStringSize);
+	        TPtr       itemPtr  = item->Des(); 
+	        aMessage.Read (0, itemPtr); 
+	        lstatusValue = Server().GetListItemL(itemPtr, bufPtr1); 
+	        aMessage.Write (1, bufPtr1);
+	        aMessage.Write (2, lstatus);
+	        CleanupStack::PopAndDestroy(2);
+	        RLDEBUG_2("CDCMOSession::DispatchMessageL EListItemName_Get %d", lstatusValue );
+	        }
+	        break;
+	        
+	    case EToBeWiped_Get:
+	        {
+	        HBufC*     item  = HBufC::NewLC(KDCMOMaxStringSize);
+            TPtr       itemPtr  = item->Des();
+            HBufC*     buf1  = HBufC::NewLC(KDCMOMaxStringSize);
+            TPtr       bufPtr1  = buf1->Des();
+            aMessage.Read (0, itemPtr);
+            lstatusValue = Server().GetToBeWipedL(itemPtr, bufPtr1);
+            aMessage.Write (1, bufPtr1);
+            aMessage.Write (2, lstatus);
+            CleanupStack::PopAndDestroy(2);
+            RLDEBUG_2("CDCMOSession::DispatchMessageL EToBeWiped_Get %d", lstatusValue );
+	        }
+	        break;
+	            
+	      case EToBeWiped_Set:
+            {
+            //TLex lex;
+            //TInt val;
+            //TBuf<255> wipeValue;
+            HBufC*     item  = HBufC::NewLC(KDCMOMaxStringSize);
+            TPtr       itemPtr  = item->Des();
+            aMessage.Read (0, itemPtr);
+            TInt val = aMessage.Int1();
+            //aMessage.Read (1, wipeValue); 
+            RLDEBUG_2("Tobewiped category %s",itemPtr.PtrZ());
+            //lex.Assign( wipeValue );
+            //TInt err = lex.Val( val );
+            RLDEBUG_2("Tobewiped value,int %d", val );
+            //if(err==KErrNone)
+            //    {
+            //    RLDEBUG("SetToBeWiped call" );
+                lstatusValue = Server().SetToBeWipedL(itemPtr, val);
+            //    }
+            //else
+            //    {
+            //    RLDEBUG("SetToBeWiped not" );
+            //    lstatusValue = ELawMoFail;
+            //    }
+            aMessage.Write (2, lstatus);
+            CleanupStack::PopAndDestroy();  
+            RLDEBUG_2("CDCMOSession::DispatchMessageL EToBeWiped_Set %d", lstatusValue );
+            }
+            break;
 	    default :
 	    		RDEBUG("CDCMOSession::DispatchMessageL- Case Not Found" );
 	    }