diff --git a/CASA/micasad/lib/communication/server/ICommunication.cs b/CASA/micasad/lib/communication/IClientChannel.cs
similarity index 77%
rename from CASA/micasad/lib/communication/server/ICommunication.cs
rename to CASA/micasad/lib/communication/IClientChannel.cs
index 7a644f7d..0138551b 100644
--- a/CASA/micasad/lib/communication/server/ICommunication.cs
+++ b/CASA/micasad/lib/communication/IClientChannel.cs
@@ -21,17 +21,20 @@
  ***********************************************************************/
 
 using System;
+using System.Net;
+using System.Net.Sockets;
 
-/* This is an interface which would be implemented 
- * by UnixCommunication and WinCommunication.
- */
+//using sscs.communication.win.NamedPipes;
 
-namespace Novell.CASA.MiCasa.Communication.Server
+
+namespace Novell.CASA.MiCasa.Communication
 {
-
-public interface Communication
-{
-    void StartCommunicationEndPoint();
-    void CloseCommunicationEndPoint();
-}
-}
+	public interface ClientChannel
+	{		
+		void Open();
+		int Read(byte[] buf);	
+		byte[] Read();	
+		int Write(byte[] buf);
+		void Close();		
+	}
+}
\ No newline at end of file
diff --git a/CASA/micasad/lib/communication/server/CommunicationFactory.cs b/CASA/micasad/lib/communication/IPCClientFactory.cs
similarity index 63%
rename from CASA/micasad/lib/communication/server/CommunicationFactory.cs
rename to CASA/micasad/lib/communication/IPCClientFactory.cs
index 493d130f..3e487562 100644
--- a/CASA/micasad/lib/communication/server/CommunicationFactory.cs
+++ b/CASA/micasad/lib/communication/IPCClientFactory.cs
@@ -21,32 +21,30 @@
  ***********************************************************************/
 
 using System;
-/* This class would have only static methods.
- */
-namespace Novell.CASA.MiCasa.Communication.Server
+
+namespace Novell.CASA.MiCasa.Communication
 {
+	/// <summary>
+	/// Summary description for IPCClientFactory.
+	/// </summary>
+	public class IPCClientFactory
+	{
+		private IPCClientFactory()
+		{
+		}
 
-public class CommunicationFactory
-{
-    /* Make the constructor private, to avoid instances of this
-     * class.
-     */
-    private CommunicationFactory()
-    {
+		public static ClientChannel CreateClientConnection()
+		{
 
-    }
-
-    /* This method must check for platform and return 
-     * an appropriate class. As of now, it assumes platform as Linux.
-     */
-    public static Communication CreateCommunicationEndPoint()
-    {
 #if LINUX
-            return( new UnixCommunication());
+			return( new UnixIPCClientChannel());
 #endif
 #if W32
-            return (new WinCommunication());
+			return (new WinIPCClientChannel());
 #endif
-    }
-}
+		}
+
+
+	}
 }
+
diff --git a/CASA/micasad/lib/communication/MiCasaRequestReply.cs b/CASA/micasad/lib/communication/MiCasaRequestReply.cs
new file mode 100644
index 00000000..c15162ff
--- /dev/null
+++ b/CASA/micasad/lib/communication/MiCasaRequestReply.cs
@@ -0,0 +1,191 @@
+/***********************************************************************
+ * 
+ *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; version 2.1
+ *  of the License.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, Novell, Inc.
+ * 
+ *  To contact Novell about this file by physical or electronic mail, 
+ *  you may find current contact information at www.novell.com.
+ * 
+ ***********************************************************************/
+
+
+using System;
+using System.Text;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.IO;
+
+using Novell.CASA.MiCasa.Common;
+
+namespace Novell.CASA.MiCasa.Communication
+{
+	/// <summary>
+	/// Summary description for MiCasaRequestReply.
+	/// </summary>
+	public class MiCasaRequestReply
+	{
+
+		//public const int VERB_GET_SECRET = 1;
+		//public const int VERB_SET_SECRET = 2;
+		//public const int VERB_GET_KEYCHAIN = 3;
+		//public const int VERB_GET_STORE = 4;
+		//public const int VERB_SET_KEYVALUE = 5;
+		//public const int VERB_GET_KEYVALUE = 6;
+		public const int VERB_SET_LINKED_KEY = 7;
+		public const int VERB_GET_LINKED_KEYS = 8;
+		public const int VERB_REMOVE_LINKED_KEY = 9;
+		public const int VERB_WRITE_KEY = 10;
+		public const int VERB_REMOVE_ALL_SECRETS = 11;
+		public const int VERB_LOCK_STORE = 12;
+		public const int VERB_UNLOCK_STORE = 13;
+		public const int VERB_GET_STORE_STATUS = 14;
+		public const int VERB_REMOVE_KEY = 15;
+		public const int VERB_READ_KEY = 16;
+		public const int VERB_GET_KEY_LIST = 17;
+		public const int VERB_RESET_MASTER_PASSWORD = 18;
+		public const int VERB_GET_SECRETIDS = 19;
+		public const int VERB_VALIDATE_DESKTOP_PWD = 20;
+		public const int VERB_EXPORT_SECRETS = 21;
+		public const int VERB_ADD_XML_SECRETS = 22;
+		public const int VERB_CHANGE_PERSIST_DIR = 23;
+		public const int VERB_CREATE_POLICY_DIR = 24;
+        public const int VERB_GET_CREATE_TIME = 25;
+        public const int VERB_GET_MODIFIED_TIME = 26;
+
+		public const int VERB_DUMP_LINKED_KEYS = 96;
+		public const int VERB_CREATE_TEST_SECRETS = 97;
+		public const int VERB_REMOVE_TEST_SECRETS = 98;
+		public const int VERB_PING_MICASAD = 99;
+
+		public MiCasaRequestReply()
+		{
+			//
+			// TODO: Add constructor logic here
+			//
+		}
+
+		public static object Send(int verb)
+		{
+			return Send(verb, null, null, null, null);
+		}
+
+		public static object Send(int verb, object wo)
+		{
+			return Send(verb, null, null, null, wo);
+		}
+
+		public static object Send(int verb, 
+			string sKeyChainID, 
+			string sSecretID, 
+			string sKeyID,
+			object theObject)
+		{
+
+			// Lengths of message fields	
+			int MSGID_LEN = 2;		
+			int MSG_LEN = 4;
+			WrappedObject request;
+			WrappedObject reply = null;
+						
+			// open a client connection
+			//IInterProcessConnection clientConnection = null;
+			
+			ClientChannel ipcChannel = IPCClientFactory.CreateClientConnection();			
+			ipcChannel.Open();
+
+
+			
+			try 
+			{						
+				// contruct and serialize the Message Object
+				request = new WrappedObject(verb, sKeyChainID, sSecretID, sKeyID, theObject);
+
+				BinaryFormatter formatter = new BinaryFormatter();
+				MemoryStream ms = new MemoryStream();
+				formatter.Serialize(ms, request);
+				ms.Flush();
+				ms.Position = 0;	
+
+				byte[] rawBytes = new byte[2+4+ms.Length];
+
+				byte[] t = new byte[10];
+
+				// set message id				
+				int destIndex = 0;
+				ushort msgId = 20;				
+				t = BitConverter.GetBytes((ushort)msgId);
+				Array.Copy(t,0,rawBytes,destIndex,MSGID_LEN);
+				destIndex += MSGID_LEN;
+						
+				// set the object length
+//Poorna
+                int msgLen = 2+4+(int)ms.Length;
+//              int msgLen = (int)ms.Length;
+				t = BitConverter.GetBytes(msgLen);
+//				t = BitConverter.GetBytes(ms.Length);
+				Array.Copy(t,0,rawBytes,destIndex,MSG_LEN);
+				destIndex += MSG_LEN;
+
+				// copy in the object
+				Array.Copy(ms.GetBuffer(), 0, rawBytes, destIndex, ms.Length);
+
+				//clientConnection = new ClientPipeConnection("MyPipe", ".");
+				//clientConnection = new ClientPipeConnection(XTIER_RPC_PIPE, ".");
+				//clientConnection.Connect();
+				
+				// write the bytes
+				//clientConnection.WriteBytes(rawBytes);
+				ipcChannel.Write(rawBytes);				
+
+				// read the bytes
+				//byte[] returnBuffer = clientConnection.ReadBytes();
+				byte[] returnBuffer = ipcChannel.Read();
+				
+				if (returnBuffer != null)
+				{
+					// deserialize MessageObject
+					uint iMsgLen = BitConverter.ToUInt32(returnBuffer,0);
+					ms = new MemoryStream(returnBuffer, 4, (int)iMsgLen);
+					ms.Position = 0;
+					reply = (WrappedObject)formatter.Deserialize(ms);				
+					
+					if (reply.GetReturnCode() != 0)
+					{
+						ipcChannel.Close();
+						throw new Exception(reply.GetReturnCode().ToString());															
+					}
+
+				}
+
+				// close the connection
+				//clientConnection.Close();
+				ipcChannel.Close();
+				
+
+			}
+			catch (Exception)
+			{
+				//Console.WriteLine(e1.ToString());
+				//clientConnection.Dispose();				
+				//throw new Exception(e1.ToString());
+			}
+
+			if (reply != null)
+				return reply.GetObject();
+			else
+				return null;
+		}
+	}
+	}
+
diff --git a/CASA/micasad/lib/communication/SAS.Designer.cs b/CASA/micasad/lib/communication/SAS.Designer.cs
deleted file mode 100644
index 3d178fbe..00000000
--- a/CASA/micasad/lib/communication/SAS.Designer.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-namespace Novell.CASA.communication
-{
-	partial class SAS
-	{
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.IContainer components = null;
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-		protected override void Dispose(bool disposing)
-		{
-			if (disposing && (components != null))
-			{
-				components.Dispose();
-			}
-			base.Dispose(disposing);
-		}
-
-		#region Windows Form Designer generated code
-
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-            this.SuspendLayout();
-            // 
-            // SAS
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.BackColor = System.Drawing.SystemColors.ControlDark;
-            this.ClientSize = new System.Drawing.Size(292, 266);
-            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
-            this.MaximizeBox = false;
-            this.MinimizeBox = false;
-            this.Name = "SAS";
-            this.Opacity = 0.8;
-            this.ShowInTaskbar = false;
-            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
-            this.ResumeLayout(false);
-
-		}
-
-		#endregion
-	}
-}
\ No newline at end of file
diff --git a/CASA/micasad/lib/communication/SAS.cs b/CASA/micasad/lib/communication/SAS.cs
deleted file mode 100644
index 3561e1f6..00000000
--- a/CASA/micasad/lib/communication/SAS.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-
-namespace Novell.CASA.communication
-{
-	public partial class SAS: Form
-	{
-		public SAS()
-		{
-			InitializeComponent();
-		}
-	}
-}
\ No newline at end of file
diff --git a/CASA/micasad/lib/communication/UnixIPCClientChannel.cs b/CASA/micasad/lib/communication/UnixIPCClientChannel.cs
new file mode 100644
index 00000000..156f6d08
--- /dev/null
+++ b/CASA/micasad/lib/communication/UnixIPCClientChannel.cs
@@ -0,0 +1,182 @@
+/***********************************************************************
+ * 
+ *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; version 2.1
+ *  of the License.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, Novell, Inc.
+ * 
+ *  To contact Novell about this file by physical or electronic mail, 
+ *  you may find current contact information at www.novell.com.
+ * 
+ ***********************************************************************/
+
+using System;
+using System.Net;
+using System.IO;
+using System.Net.Sockets;
+using Mono.Unix;
+using System.Text;
+
+namespace Novell.CASA.MiCasa.Communication
+{
+    /// <summary>
+    /// Summary description for UnixIPCClientChannel.
+    /// </summary>
+    public class UnixIPCClientChannel : ClientChannel
+    {
+
+        private Socket mSocket = null;
+        private string socketFileName = "/tmp/.novellCASA";
+        private EndPoint sockEndPoint;
+
+        public UnixIPCClientChannel()
+        {
+        }
+
+        public void Open()
+        {
+            mSocket = new Socket(AddressFamily.Unix,
+                            SocketType.Stream,
+                            ProtocolType.IP);
+
+            if (mSocket == null)
+            {
+                throw new Exception("could not get socket");
+            }
+
+            sockEndPoint = new UnixEndPoint(socketFileName);
+            UnixFileSystemInfo sockFileInfo = new UnixFileInfo(socketFileName);
+            UnixUserInfo sockFileOwner = sockFileInfo.OwnerUser;
+
+            // root is the owner of the file "/tmp/.novellCASA"
+            if (sockFileOwner.UserId == 0)
+            {
+                mSocket.Connect(sockEndPoint);
+            }
+            else
+            {
+                throw new Exception("not a valid miCASA service");
+            }
+
+        }
+
+        public int Read(byte[] buf)
+        {
+            buf = Read();
+
+            if (buf != null)
+            {
+                //Console.WriteLine("Bytes read = " + buf.Length);
+                return buf.Length;
+            }
+            else
+                return 0;
+        }
+
+        public byte[] Read()
+        {
+            byte[] returnBuffer = null;
+            int bytesRecvd = 0;
+
+            try
+            {
+                /* We need to read 'msgLen' to know how many bytes to
+                 * allocate. 
+                 */
+
+                byte[] msgIdBytes = new byte[2];
+                bytesRecvd = mSocket.Receive(msgIdBytes);
+                if (0 == bytesRecvd)
+                {
+                    return null;
+                }
+                byte[] msgLenBytes = new byte[4];
+                bytesRecvd = mSocket.Receive(msgLenBytes);
+                if (0 == bytesRecvd)
+                {
+                    return null;
+                }
+
+                uint msgLen = BitConverter.ToUInt32(msgLenBytes, 0);
+                if (msgLen > 6)
+                {                    
+                    byte[] buf = null;
+                    int bytesAvailable;
+                    int totalBytes = 0;
+                    int msgLencount = 0;
+                    string bufstring = null;                 
+
+                    // buffer for data
+                    MemoryStream ms = new MemoryStream();
+
+                    while (totalBytes < (msgLen - 6))
+                    {
+                        bytesAvailable = mSocket.Available;
+                        if (0 == bytesAvailable)
+                        {
+                            break;
+                        }
+                        buf = new byte[bytesAvailable];
+                        bytesRecvd = mSocket.Receive(buf);                        
+                        ms.Write(buf, 0, bytesRecvd);
+
+                        totalBytes = totalBytes + bytesAvailable;                                                  
+                    }
+                    if (totalBytes == 0)
+                        return null;
+                    
+                    byte[] finalbuf = ms.ToArray();
+
+                    int returnBufferLen = msgIdBytes.Length + msgLenBytes.Length + totalBytes;
+                    returnBuffer = new byte[returnBufferLen];
+                    Array.Copy(msgIdBytes, returnBuffer, 2);
+                    Array.Copy(msgLenBytes, 0, returnBuffer, 2, 4);
+                    Array.Copy(finalbuf, 0, returnBuffer, 6, finalbuf.Length);
+                    return returnBuffer;
+                }
+                else
+                {
+                    returnBuffer = new byte[6];
+                    Array.Copy(msgIdBytes, returnBuffer, 2);
+                    Array.Copy(msgLenBytes, 0, returnBuffer, 2, 4);
+                    return returnBuffer;
+                }
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+                return null;
+            }
+        }
+
+        public int Write(byte[] buf)
+        {
+            try
+            {
+                mSocket.Send(buf);
+                //Console.WriteLine("Bytes written = " + buf.Length);
+                return buf.Length;
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.ToString());
+                return 0;
+            }
+        }
+
+        public void Close()
+        {
+            mSocket.Close();
+        }
+    }
+}
diff --git a/CASA/micasad/lib/communication/WinIPCClientChannel.cs b/CASA/micasad/lib/communication/WinIPCClientChannel.cs
new file mode 100644
index 00000000..ebe27f82
--- /dev/null
+++ b/CASA/micasad/lib/communication/WinIPCClientChannel.cs
@@ -0,0 +1,103 @@
+/***********************************************************************
+ * 
+ *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; version 2.1
+ *  of the License.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, Novell, Inc.
+ * 
+ *  To contact Novell about this file by physical or electronic mail, 
+ *  you may find current contact information at www.novell.com.
+ * 
+ ***********************************************************************/
+
+
+using System;
+
+using AppModule.InterProcessComm;
+using AppModule.NamedPipes;
+
+namespace Novell.CASA.MiCasa.Communication
+{
+	/// <summary>
+	/// Summary description for WinIPCClientChannel.
+	/// </summary>
+	public class WinIPCClientChannel : ClientChannel
+	{
+
+		private static IInterProcessConnection clientConnection = null;
+		private static string XTIER_RPC_PIPE = "SS_RPC_PIPE";
+
+		public WinIPCClientChannel()
+		{
+	
+		}
+
+		public void Open()
+		{
+			if (clientConnection == null)
+			{
+				clientConnection = new ClientPipeConnection(XTIER_RPC_PIPE, ".");
+				clientConnection.Connect();
+			}
+
+		}
+
+		public int Read(byte[] buf)
+		{
+			buf = Read();
+
+			if (buf != null)
+				return 0;
+			else
+				return -1;
+		}
+
+		public byte[] Read()
+		{
+			byte[] returnBuffer;
+			
+			try 
+			{
+				returnBuffer = clientConnection.ReadBytes();
+				return returnBuffer;
+			}
+			catch (Exception e)
+			{
+				Console.WriteLine(e.ToString());
+				return null;
+			}			
+		}
+		
+		public int Write(byte[] buf)
+		{
+			try
+			{
+				clientConnection.WriteBytes(buf);
+				return 0;
+			}
+			catch (Exception e)
+			{
+				Console.WriteLine(e.ToString());
+				return -1;
+			}
+		}
+
+		public void Close()
+		{
+			
+			//clientConnection.Close();
+			//clientConnection.Dispose();
+		}
+
+	}
+}
diff --git a/CASA/micasad/lib/communication/iss/MethodCall.cs b/CASA/micasad/lib/communication/iss/MethodCall.cs
deleted file mode 100644
index 28c66339..00000000
--- a/CASA/micasad/lib/communication/iss/MethodCall.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-using System;
-using System.Collections;
-using System.Text;
-
-using System.Xml;
-
-namespace Novell.CASA
-{
-	class MethodCall
-	{
-        internal static string GetCard = "getCard";
-        internal static string GetSecurityToken = "getSecurityToken";
-
-        //private string m_methodname;
-        private Hashtable m_htParams = new Hashtable();
-        private ArrayList m_alReqClaims = new ArrayList();
-        private ArrayList m_alOptClaims = new ArrayList();
-
-        private XmlDocument m_doc = new XmlDocument();
-        private XmlNode m_methodCall;
-        private XmlNode m_methodName;
-        private XmlNode m_params;
-        private XmlNode m_param;
-        private XmlNode m_struct;
-
-
-        public MethodCall(string sMethodName)
-        {
-            //m_methodname = sMethodName;
-            //m_methodCall = m_doc.CreateNode(XmlNodeType.Element, "methodCall", "");
-            m_methodCall = m_doc.CreateElement("methodCall");
-            
-            m_methodName = m_doc.CreateElement("methodName");
-            m_methodName.InnerText = sMethodName;
-
-            m_params = m_doc.CreateElement("params");
-            m_param = m_doc.CreateElement("param");
-            m_struct = m_doc.CreateElement("struct");
-
-            m_param.AppendChild(m_struct);
-            m_params.AppendChild(m_param);
-
-            m_methodCall.AppendChild(m_methodName);
-            m_methodCall.AppendChild(m_params);
-            
-            m_doc.AppendChild(m_methodCall);
-
-        }
-
-
-        public void AddMember(string sName, string sValue)
-        {
-            XmlNode nodeMember = m_doc.CreateElement("member");
-
-            XmlNode nodeName = m_doc.CreateNode(XmlNodeType.Element, "name", null);
-            nodeName.InnerText = sName;
-
-            XmlNode nodeValue = m_doc.CreateNode(XmlNodeType.Element, "value", null);
-            nodeValue.InnerText = sValue;
-
-            nodeMember.AppendChild(nodeName);
-            nodeMember.AppendChild(nodeValue);
-
-            m_struct.AppendChild(nodeMember);
-        }
-
-
-        public void AddRequiredClaim(string sClaim)
-        {
-            m_alReqClaims.Add(sClaim);
-        }
-
-        public void AddOptionalClaim(string sOptClaim)
-        {
-            m_alOptClaims.Add(sOptClaim);
-        }
-
-        internal string GetXmlRpc()
-        {
-
-            // add claims to doc
-            if (m_alReqClaims.Count > 0)
-            {
-                AppendClaims("requiredclaims", m_alReqClaims);
-            }
-
-            if (m_alOptClaims.Count > 0)
-            {
-                AppendClaims("optionalclaims", m_alOptClaims);
-            }
-
-            return m_doc.InnerXml;
-//            return null;
-
-        }
-
-        private void AppendClaims(string sClaimType, ArrayList al)
-        {
-
-            XmlNode member = m_doc.CreateNode(XmlNodeType.Element, "member", null);
-            XmlNode name = m_doc.CreateNode(XmlNodeType.Element, "name", null);
-            name.InnerText = sClaimType;
-
-            XmlNode array = m_doc.CreateElement("array");
-            XmlNode data = m_doc.CreateElement("data");
-            array.AppendChild(data);
-
-            foreach (string sClaim in al)
-            {                
-                XmlNode valueNode = m_doc.CreateNode(XmlNodeType.Element, "value", null);
-                valueNode.InnerText = sClaim;
-                data.AppendChild(valueNode);                
-            }
-
-            member.AppendChild(name);
-            member.AppendChild(array);
-
-            m_struct.AppendChild(member);
-
-        }
-
-
-
-	}
-}
diff --git a/CASA/micasad/lib/communication/server/AppHandler.cs b/CASA/micasad/lib/communication/server/AppHandler.cs
deleted file mode 100644
index 3f70cf07..00000000
--- a/CASA/micasad/lib/communication/server/AppHandler.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-
-using System;
-using System.Collections;
-using System.Text;
-using Novell.CASA.MiCasa.Communication.Server;
-
-class AppHandler
-{
-    //Data
-    private IPCChannel clientChannel;
-
-    //Methods
-    internal AppHandler(IPCChannel ipcChannel)
-    {
-        clientChannel = ipcChannel;
-        //CSSSLogger.ExecutionTrace(this);
-    }
-
-    ~AppHandler()
-    {
-        //CSSSLogger.ExecutionTrace(this);
-    }
-
-    /* Starts servicing the application. This is called as soon
-     * as a new client connection is established.
-     */
-    internal int ServiceApp(RequestParser reqParser)
-    {
-        SSVerb verb = null; 
-        //CSSSLogger.ExecutionTrace(this);
-
-        while(true)
-        {
-            byte[] buf = null;
-
-            try
-            {
-                buf = clientChannel.Read();
-                if( null == buf )
-                {
-                    return RetCodes.SUCCESS;
-                }
-                //RequestParser reqParser = new RequestParser();
-                verb = reqParser.ParseRequest(buf);
-                //CSSSLogger.logbreak();
-                //CSSSLogger.DbgLog("SSCS going to sevice a :: ** " + verb.GetVerbName()  + "  **");
-
-
-                buf = verb.ProcessRequest();
-                if ( buf != null)
-                {
-                    int retVal = clientChannel.Write(buf);
-                    if(retVal < 0)
-                    {
-//                        CSSSLogger.DbgLog("Write failed");
-                        return RetCodes.FAILURE;
-                    }
-                }
-                else
-                {
-                    //There must always be something written back to client.
-                    return RetCodes.FAILURE;
-                }
-            }
-//            catch(CommunicationException e)
-//            {
-//                CSSSLogger.ExpLog(e.ToString());
-//                throw e;
-//            }
-            catch(FormatException e)
-            {
-//                CSSSLogger.ExpLog(e.ToString());
-                throw e;
-            }
-            catch(Exception e)
-            {
-  //              CSSSLogger.ExpLog(e.ToString());
-                throw e;
-            }
-
-            /* TBD define verb specific heirarchy of exceptions  catch
-             * (Some processing problem)
-             */
-                 
-            finally
-            {
-//                CSSSLogger.DbgLog("SSCS finished processing a SS Verb :: ** " + verb.GetVerbName() + "  **");
-//                CSSSLogger.logbreak();
-            }
-        }
-    }
-
-    internal class RetCodes
-    {
-        internal static int SUCCESS = 0;
-        internal static int FAILURE = -1;
-        internal static int LOAD_HIDDEN_ONLY = 1;
-        internal static int LOAD_ALL_EXCEPT_HIDDEN = 2;
-        internal static int WRITE_HIDDEN_ONLY = 3;
-        internal static int WRITE_ALL_EXCEPT_HIDDEN = 4;
-        internal static int WRITE_ALL = 5;
-    }
-}
diff --git a/CASA/micasad/lib/communication/server/IPCChannel.cs b/CASA/micasad/lib/communication/server/IPCChannel.cs
deleted file mode 100644
index 0fd9d275..00000000
--- a/CASA/micasad/lib/communication/server/IPCChannel.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-using System;
-using System.Net;
-using System.Net.Sockets;
-#if W32
-using AppModule.NamedPipes;
-#endif
-
-namespace Novell.CASA.MiCasa.Communication.Server
-{
-
-abstract class IPCChannel
-{
-    /* This must check for the platform and return an 
-     * appropriate IPCChannel. 
-     */
-#if LINUX
-    internal static IPCChannel Create(Socket socket)
-    {
-	int platform = (int)Environment.OSVersion.Platform;
-        if(( platform ==4 ) || ( platform == 128 ))
-            return (new UnixIPCChannel(socket) ) ;
-        else
-            return null;
-    }
-
-#endif
-	
-#if W32
-	internal static IPCChannel Create(ServerPipeConnection serverPipe)
-	{		
-		return (new WinIPCChannel(serverPipe));
-	}
-#endif
-    abstract internal int Read(byte[] buf);
-    abstract internal byte[] Read();
-    abstract internal int Write(byte[] buf);
-    abstract internal void Close();
-
-}
-}
diff --git a/CASA/micasad/lib/communication/server/ISSVerb.cs b/CASA/micasad/lib/communication/server/ISSVerb.cs
deleted file mode 100644
index 85d9189e..00000000
--- a/CASA/micasad/lib/communication/server/ISSVerb.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-using System;
-using System.Collections;
-using System.Text;
-using System.Threading;
-
-
-
-namespace Novell.CASA.MiCasa.Communication.Server
-    {
-
-     /*
-     * Defines the interfaces to be implemenetd by all Secret Store Verbs. 
-     */
-    public interface SSVerb
-    {
-        /* Takes in the raw bytes and sets them for a Verb, 
-         * so that the verb will execute in the bytes given.
-         * TBD: In case we are able to send the byte[] through constructor, 
-         * we can avoid this interface.    
-         */
-
-        void SetMessageContent(byte[] rawbytes); 
-         
-        /* Takes in the SecretStore Reeference and returns the correct SSVerb
-         */
-        byte[] ProcessRequest();
-
-        //Gives the name of operation performed.Can be used in case of error. 
-        string GetVerbName();
-    }
-    
-    } 
-
diff --git a/CASA/micasad/lib/communication/server/RequestParser.cs b/CASA/micasad/lib/communication/server/RequestParser.cs
deleted file mode 100644
index 9d931d1c..00000000
--- a/CASA/micasad/lib/communication/server/RequestParser.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-using System;
-using System.Collections;
-using System.Text;
-using System.Threading;
-
-
-/*
- * After the bytes format is finalized for Windows this class might need to 
- * be modified..
- * Depending upon impact either a new method can be invoked after platfrom 
- * check or a Factory pattern can be used to redesign this class.
- */
-       
-
-namespace Novell.CASA.MiCasa.Communication.Server
-{
-    /* This class will be used to convert raw bytes to one of the SecretStore 
-     * Verbs. Although there is no need to have many instances,
-     * this class will NOT be singleton class since we 
-     * do not want a hit on performance (synchronization, obtaining locks,
-     * releasing locks...etc )
-     * Making it singleton is not giving us any advantage versus performance.
-     */
-    internal class RequestParser
-    {
-        Hashtable msgIdMap = new Hashtable();
-
-        internal RequestParser()
-        {
-            msgIdMap.Add(0,"casa.verbs.SelectCard");
-            msgIdMap.Add(1, "casa.verbs.SelectCard");
-        }
-	    		
-        /* Processes the request and returns the corrrect SSverb.
-         * This interface works on the class member rawbytes and 
-         * returns the result.  		  
-         */
-        internal SSVerb ParseRequest(byte[] rawbytes)
-        {
-            if (rawbytes == null)
- 	        throw new FormatException("Message format incorrect");
- 		       
-            String className = GetClassName(rawbytes); 
-
-            SSVerb theVerb = (SSVerb)Activator.CreateInstance(null, className ).Unwrap();            
-            theVerb.SetMessageContent(rawbytes); 
-            
-            /* 
-             * TBD: We can send the activation params in the same call. 
-             */
-            //SSVerb theVerb = (SSVerb)Activator.CreateInstance(Type.GetType(className)).Unwrap();
-           
-            return theVerb;
-        }
-
-        private string GetClassName(byte[] ipcbytes)
-        {
-           /* 
-            * Read first two bytes and get ushort
-            * Look up table and send class name  
-            */
-            ushort msgId = BitConverter.ToUInt16(ipcbytes,0);
-            return ((String)(msgIdMap[(int)msgId]));
-        }
-    }
-}
diff --git a/CASA/micasad/lib/communication/server/WinCommunication.cs b/CASA/micasad/lib/communication/server/WinCommunication.cs
deleted file mode 100644
index 79aab51e..00000000
--- a/CASA/micasad/lib/communication/server/WinCommunication.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * z
- ***********************************************************************/
-
-using System;
-
-using AppModule.InterProcessComm;
-using AppModule.NamedPipes;
-using Novell.CASA.MiCasa.Communication.win;
-
-
-namespace Novell.CASA.MiCasa.Communication.Server
-{
-	/// <summary>
-	/// Summary description for WinCommunication.
-	/// </summary>
-	public class WinCommunication : Server.Communication
-	{
-
-		public static IChannelManager PipeManager;
-
-		public WinCommunication()
-		{
-			PipeManager = new PipeManager();
-			PipeManager.Initialize();
-		}
-
-		public void StartCommunicationEndPoint()
-		{
-			Console.WriteLine("StartCommunctionEndPointed called");
-			//PipeManager = new PipeManager();
-			//PipeManager.Initialize();
-			//PipeManager.Start();
-			PipeManager.Start();						
-		}
-
-		public void CloseCommunicationEndPoint()
-		{
-			PipeManager.Stop();
-		}
-	}
-}
diff --git a/CASA/micasad/lib/communication/server/WinIPCChannel.cs b/CASA/micasad/lib/communication/server/WinIPCChannel.cs
deleted file mode 100644
index dcf69760..00000000
--- a/CASA/micasad/lib/communication/server/WinIPCChannel.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-
-using System;
-using System.IO;
-using System.Text;
-
-using AppModule.NamedPipes;
-using Novell.CASA.MiCasa.Communication.win;
-
-namespace Novell.CASA.MiCasa.Communication.Server
-{
-
-	class WinIPCChannel : IPCChannel
-	{
-		// Data
-		private ServerPipeConnection m_serverPipeConnection;		
-
-		//Methods
-		public WinIPCChannel(ServerPipeConnection serverPipeConnection)
-		{
-			m_serverPipeConnection = serverPipeConnection;		        
-		}
-
-		private WinIPCChannel()
-		{
-			//CSSSLogger.DbgLog("WinIPCChannel constructor must be called with a serverPipe");
-
-		}
-		~WinIPCChannel()
-		{
-			//  Console.WriteLine("WinIPCChannel::~~WinIPCChannel");
-		}
-
-		override internal byte[] Read()
-		{
-
-		
-			byte[] incoming = null;
-			try
-			{
-				incoming = m_serverPipeConnection.ReadBytes();
-				return incoming; 
-			}
-			catch(Exception)
-			{
-				return null;
-				//CSSSLogger.DbgLog("Exception in reading data from client" + e.ToString());
-				//throw new CommunicationException(e.ToString()); 
-			}                
-		}
-		
-		override internal int Read(byte[] buf)
-		{
-			return 0;
-		}
-
-		override internal int Write(byte[] buf)
-		{
-
-			int bytesSent = 0;        
-			try 
-			{
-				m_serverPipeConnection.WriteBytes(buf);
-				bytesSent = buf.Length;
-			}
-			catch (Exception e)
-			{
-                Console.WriteLine(e.ToString());
-			}
-			//CSSSLogger.DbgLog("WinIPCChannel::Write - Bytes sent is {0}" +bytesSent);
-			return bytesSent; 
-
-		}
-		override internal void Close()
-		{
-			//CSSSLogger.DbgLog("WinIPCChannel Closed");
-			//clientSocket.Close();
-			m_serverPipeConnection.Close();
-		}
-	}
-}
diff --git a/CASA/micasad/lib/communication/verbs/CMWebClient.cs b/CASA/micasad/lib/communication/verbs/CMWebClient.cs
deleted file mode 100644
index 3ba1560f..00000000
--- a/CASA/micasad/lib/communication/verbs/CMWebClient.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using System;
-using System.Collections.Specialized;
-using System.Text;
-using System.Net;
-using System.IO;
-
-using Novell.CASA.GUI;
-
-namespace Novell.CASA.communication
-{
-	class CMWebClient
-	{
-        private WebClient m_wc = new WebClient();
-        private Config m_config;
-
-        public CMWebClient(Config config)
-        {
-            m_config = config;
-        }
-
-        public byte[] GetData()
-        {
-            return GetData(null);
-        }
-
-        public byte[] GetData(byte[] baDataToSend)
-        {
-
-            try
-            {
-                string sISSAddr = m_config.GetConfigSetting("ISS_Address", "http://localhost:2020");
-                byte[] responseData;
-
-                if (baDataToSend != null)
-                {
-                    responseData = m_wc.UploadData(sISSAddr, "POST", baDataToSend);
-                }
-                else
-                {
-                    responseData = m_wc.DownloadData(sISSAddr);
-                }
-
-                //NameValueCollection form = new NameValueCollection();
-                //form.Add("MyName", "MyValue");
-                //byte[] responseData = m_wc.UploadValues("http://buydotcom:8080/auction/innerweb.jsp", form);                
-                return responseData;
-            }
-            catch (Exception e)
-            {                
-                e.ToString();
-               
-            }
-
-            return null;
-
-           //byte[] new data = m_wc.UploadData("http://www.novell.com", "POST", responseData);
-
-            /*
-
-            Stream s = m_wc.OpenRead("http://buydotcom:8080/auction/innerweb.jsp");
-            StreamReader sr = new StreamReader(s);
-            string line = sr.ReadLine();
-            while (line != null)
-            {
-                Console.WriteLine(line);
-                line = sr.ReadLine();
-            }
-             */
-
-
-        }
-	}
-}
diff --git a/CASA/micasad/lib/communication/verbs/SelectCard.cs b/CASA/micasad/lib/communication/verbs/SelectCard.cs
deleted file mode 100644
index 1df2449c..00000000
--- a/CASA/micasad/lib/communication/verbs/SelectCard.cs
+++ /dev/null
@@ -1,262 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-using System;
-using System.Collections;
-using System.Text;
-using System.Threading;
-
-using Novell.CASA.MiCasa.Communication.Server;
-using Novell.CASA.GUI;
-
-namespace casa.verbs
-{
-    
-   /*
-    * This class is implementation of OpenSecretStore call.
-    * There will be one instance existing for every call made by the client.  
-    */
-
-    internal class SelectCard : SSVerb
-    {
-        ushort msgId   = 0;
-        uint inMsgLen  = 0;
-        uint outMsgLen = 0;
-        uint ssVersion = 0;
-        uint ssNameLen = 0;
-        private string ssName; //Name of SecretStore to open
-        private byte[] inBuf;
-        
-        private byte[] outBuf;
-        int retCode = 0;
-
-		private static int MAX_SS_NAME_LEN = 256;
-        
-        /*
-        * This method sets the class member with the byte array received.
-        */
- 
-        public void SetMessageContent(byte[] ipcBytes)
-        {           
-           inBuf = ipcBytes;                   
-        }
-
-       /*
-        * This method does the actual implementation of OpenSecretStore 
-        *   
-        */
-
-        public byte[] ProcessRequest()
-        {
-            /* If an exception occurs in message format decoding,
-             * it is handled by AppHandler
-             */
-            string sCardSelected = null;
-            byte[] baToken = null;
-
-            
-            //parse incoming data
-            uint iLenIssuerUri = 0;
-            uint iLenRecipientUrl = 0;
-            uint iLenRequiredClaims = 0;
-            uint iLenOptionalClaims = 0;
-            uint iLenTokenType = 0;
-            uint iLenPolicy = 0;
-            
-            // get issuer
-            string sIssueUri = null;
-            iLenIssuerUri = BitConverter.ToUInt32(inBuf, 6);
-            if (iLenIssuerUri > 0)
-            {
-                byte[] baIssuerUri = new Byte[iLenIssuerUri];
-                Array.Copy(inBuf, 10, baIssuerUri, 0, iLenIssuerUri);
-                sIssueUri = Encoding.Unicode.GetString(baIssuerUri);
-            }
-
-            string sRecipientUrl = null;
-            iLenRecipientUrl = BitConverter.ToUInt32(inBuf, 6 + (4 + (int)iLenIssuerUri));
-            if (iLenRecipientUrl > 0)
-            {
-                byte[] baRecipentUrl = new byte[iLenRecipientUrl];
-                Array.Copy(inBuf, 10 + (4 + iLenIssuerUri), baRecipentUrl, 0, iLenRecipientUrl);
-                sRecipientUrl = Encoding.Unicode.GetString(baRecipentUrl);
-            }
-
-
-            // get requested claims
-            string sClaims = null;
-            iLenRequiredClaims = BitConverter.ToUInt32(inBuf, 6 + (4 + (int)iLenIssuerUri) + (4 + (int)iLenRecipientUrl));
-            if (iLenRequiredClaims > 0)
-            {
-                byte[] baRequiredClaims = new byte[iLenRequiredClaims];
-                Array.Copy(inBuf, 10 + (4 + iLenIssuerUri) + (4 + iLenRecipientUrl), baRequiredClaims, 0, iLenRequiredClaims);
-                sClaims = Encoding.Unicode.GetString(baRequiredClaims);
-            }
-
-            // get optional claims
-            string sOptClaims = null;
-            iLenOptionalClaims = BitConverter.ToUInt32(inBuf, 
-                6 + 
-                (4 + (int)iLenIssuerUri) + 
-                (4 + (int)iLenRecipientUrl) + 
-                (4 + (int)iLenRequiredClaims));
-
-            if (iLenOptionalClaims > 0)
-            {
-                byte[] baOptClaims = new byte[iLenOptionalClaims];
-                Array.Copy(inBuf, 10 + (4 + iLenIssuerUri) + (4 + iLenRecipientUrl) + (4 + iLenRequiredClaims), baOptClaims, 0, iLenOptionalClaims);
-                sOptClaims = Encoding.Unicode.GetString(baOptClaims);
-            }
-
-            string sTokenType = null;
-            iLenTokenType = BitConverter.ToUInt32(inBuf,
-                6 +
-                (4 + (int)iLenIssuerUri) +
-                (4 + (int)iLenRecipientUrl) +
-                (4 + (int)iLenRequiredClaims) + 
-                (4 + (int)iLenOptionalClaims));
-
-            if (iLenTokenType > 0)
-            {
-                byte[] baTokenType = new byte[iLenTokenType];
-                Array.Copy(inBuf,
-                    10 + (4 + iLenIssuerUri) + (4 + iLenRecipientUrl) + (4 + iLenRequiredClaims) + (4 + iLenOptionalClaims),
-                    baTokenType, 
-                    0,
-                    iLenTokenType);
-                sTokenType = Encoding.Unicode.GetString(baTokenType);
-
-            }
-
-
-            string sPolicy = null;
-            iLenPolicy = BitConverter.ToUInt32(inBuf,
-                6 +
-                (4 + (int)iLenIssuerUri) +
-                (4 + (int)iLenRecipientUrl) +
-                (4 + (int)iLenRequiredClaims) +
-                (4 + (int)iLenOptionalClaims) + 
-                (4 + (int)iLenTokenType));
-
-            if (iLenPolicy > 0)
-            {
-                byte[] baPolicy = new byte[iLenPolicy];
-                Array.Copy(inBuf,
-                    10 + (4 + iLenIssuerUri) + (4 + iLenRecipientUrl) + (4 + iLenRequiredClaims) + (4 + iLenOptionalClaims) + (4 + iLenTokenType),
-                    baPolicy,
-                    0,
-                    iLenPolicy);
-                sPolicy = Encoding.Unicode.GetString(baPolicy);
-            }
-
-            if (true)
-            {
-                // display Card Selector
-                CardSelector cs = new CardSelector();
-                //sCardSelected = cs.DisplaySelector();
-                baToken = cs.GetToken();
-
-                retCode = 0;
-            }
-            else
-            {
-
-                msgId = BitConverter.ToUInt16(inBuf, 0);
-                inMsgLen = BitConverter.ToUInt32(inBuf, 2);
-
-                if (inMsgLen != inBuf.Length)
-                    throw new FormatException(" MsgLen sent does not match the length of the message received.");
-
-                ssVersion = BitConverter.ToUInt32(inBuf, 6);
-                ssNameLen = BitConverter.ToUInt32(inBuf, 10);
-
-                if (ssNameLen > MAX_SS_NAME_LEN)
-                    throw new FormatException(" SecretStore Name length exceeds length allowed");
-
-                byte[] tempArr = new byte[ssNameLen];
-                Array.Copy(inBuf, 14, tempArr, 0, ssNameLen);
-                ssName = Encoding.UTF8.GetString(tempArr);
-
-            }
-
-            try
-            {
-                msgId = 0;
-                outMsgLen = 14;
-                if (baToken.Length > 0)
-                {
-                    outBuf = new byte[14 + baToken.Length];
-                    outMsgLen = 14 + (uint)baToken.Length;
-                }
-                else
-                {
-                    outBuf = new byte[14];
-                }
-
-                byte[] t = new byte[10];
- 
-                t = BitConverter.GetBytes((ushort)msgId);
-                Array.Copy(t,0,outBuf,0,2);
-
-                t = BitConverter.GetBytes((uint)outMsgLen);
-                Array.Copy(t,0,outBuf,2,4);
-
-                t = BitConverter.GetBytes((uint)ssVersion);
-                Array.Copy(t,0,outBuf,6,4);
-            
-                t = BitConverter.GetBytes(retCode);
-                Array.Copy(t,0,outBuf,10,4);
-
-                // copy card selected if there is one
-                //if (sCardSelected != null)
-                //{
-                //    byte[] baCard = Encoding.ASCII.GetBytes(sCardSelected);
-                //    Array.Copy(baCard, 0, outBuf, 14, baCard.Length);
-                //}
-                if (baToken.Length > 0)
-                {
-                    Array.Copy(baToken, 0, outBuf, 14, baToken.Length);
-                }
-
-
-
-
-            }
-            catch(Exception e)
-            {
-         
-                throw new FormatException("Unable to form the response " + e.ToString());
-            }
-            return outBuf;
-        }
-
-
-        /*
-         * Gives the name of operation performed. Will be used in case 
-         * of error. 
-         */
-        public string GetVerbName()
-        {
-            return this.ToString(); 
-        }
-    }
-}
diff --git a/CASA/micasad/lib/communication/win/PipeManager.cs b/CASA/micasad/lib/communication/win/PipeManager.cs
deleted file mode 100644
index 5e2e65e8..00000000
--- a/CASA/micasad/lib/communication/win/PipeManager.cs
+++ /dev/null
@@ -1,174 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-using System;
-using System.Collections;
-using System.Threading;
-using System.Web;
-using System.IO;
-using System.Configuration;
-using System.Diagnostics;
-
-using AppModule.InterProcessComm;
-using AppModule.NamedPipes;
-
-using Novell.CASA.MiCasa.Communication.Server;
-
-namespace Novell.CASA.MiCasa.Communication.win
-{
-
-	public class PipeManager : IChannelManager {
-
-		public Hashtable Pipes;
-
-		private uint NumberPipes = 16;
-		private uint OutBuffer = 65536; //512;
-		private uint InBuffer = 65536; //512;
-		private const int MAX_READ_BYTES = 15000;
-		private bool _listen = true;
-		public bool Listen {
-			get {
-				return _listen;
-			}
-			set {
-				_listen=value;
-			}
-		}
-		private int numChannels = 0;
-		private Hashtable _pipes = new Hashtable();
-
-		//private Thread MainThread;		
-		private string CASA_RPC_PIPE = "\\\\.\\PIPE\\CASA_MANAGER";
-		private ManualResetEvent Mre;
-		private const int PIPE_MAX_STUFFED_TIME = 5000;
-		
-		public object SyncRoot = new object();
-
-		public void Initialize() {
-			Pipes = Hashtable.Synchronized(_pipes);
-			Mre = new ManualResetEvent(false);
-			/*
-			MainThread = new Thread(new ThreadStart(Start));
-			MainThread.IsBackground = true;
-			MainThread.Name = "Main Pipe Thread";
-			MainThread.Start();
-			*/
-			Thread.Sleep(1000);
-		}
-		public string HandleRequest(string request) {
-			string returnVal;
-
-			//Form1.ActivityRef.AppendText(request + Environment.NewLine);
-			returnVal = "Response to: " + request;
-
-			return returnVal;
-		}
-
-		public void Start() {
-			try {
-				while (_listen) {
-					int[] keys = new int[Pipes.Keys.Count];
-					Pipes.Keys.CopyTo(keys,0);
-					foreach (int key in keys) {
-						ServerNamedPipe serverPipe = (ServerNamedPipe)Pipes[key];                        
-						if (serverPipe != null && DateTime.Now.Subtract(serverPipe.LastAction).Milliseconds > PIPE_MAX_STUFFED_TIME && serverPipe.PipeConnection.GetState() != InterProcessConnectionState.WaitingForClient) {
-							serverPipe.Listen = false;
-							serverPipe.PipeThread.Abort();
-							RemoveServerChannel(serverPipe.PipeConnection.NativeHandle);
-						}
-					}
-					if (numChannels <= NumberPipes) {
-						ServerNamedPipe pipe = new ServerNamedPipe(CASA_RPC_PIPE, OutBuffer, InBuffer, MAX_READ_BYTES);
-                        
-                        // register all verbs with this pipe
-                        
-
-						try {
-							pipe.Connect();
-							pipe.LastAction = DateTime.Now;
-							System.Threading.Interlocked.Increment(ref numChannels);
-							pipe.Start();
-							Pipes.Add(pipe.PipeConnection.NativeHandle, pipe);
-						}
-						catch (InterProcessIOException) {
-							RemoveServerChannel(pipe.PipeConnection.NativeHandle);
-							pipe.Dispose();
-						}
-					}
-					else {
-						Mre.Reset();
-						Mre.WaitOne(1000, false);
-					}
-				}
-			}
-			catch (Exception e)
-			{
-				Console.WriteLine("Exception starting server: "+e.ToString());
-				// Log exception
-			}
-		}
-		public void Stop() {
-			_listen = false;
-			Mre.Set();
-			try {
-				int[] keys = new int[Pipes.Keys.Count];
-				Pipes.Keys.CopyTo(keys,0);
-				foreach (int key in keys) {
-					((ServerNamedPipe)Pipes[key]).Listen = false;
-				}
-				int i = numChannels * 3;
-				for (int j = 0; j < i; j++) {
-					StopServerPipe();
-				}
-				Pipes.Clear();
-				Mre.Close();
-				Mre = null;
-			} 
-			catch {	
-				// Log exception
-			}
-		}
-
-		public void WakeUp() {
-			if (Mre != null) {
-				Mre.Set();
-			}
-		}
-		private void StopServerPipe() {
-			try {
-				ClientPipeConnection pipe = new ClientPipeConnection(CASA_RPC_PIPE);
-				if (pipe.TryConnect()) {
-					pipe.Close();
-				}
-			} catch {	
-				// Log exception
-			}
-		}
-
-		public void RemoveServerChannel(object param) {
-			int handle = (int)param;
-			System.Threading.Interlocked.Decrement(ref numChannels);
-			Pipes.Remove(handle);
-			this.WakeUp();
-		}
-	}
-}
\ No newline at end of file
diff --git a/CASA/micasad/lib/communication/win/ServerNamedPipe.cs b/CASA/micasad/lib/communication/win/ServerNamedPipe.cs
deleted file mode 100644
index 1b91169b..00000000
--- a/CASA/micasad/lib/communication/win/ServerNamedPipe.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-/***********************************************************************
- * 
- *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; version 2.1
- *  of the License.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, Novell, Inc.
- * 
- *  To contact Novell about this file by physical or electronic mail, 
- *  you may find current contact information at www.novell.com.
- * 
- ***********************************************************************/
-
-using System;
-using System.Threading;
-using System.IO;
-
-using AppModule.InterProcessComm;
-using AppModule.NamedPipes;
-
-using Novell.CASA.MiCasa.Communication.Server;
-
-
-namespace Novell.CASA.MiCasa.Communication.win
-{
-
-	public sealed class ServerNamedPipe : IDisposable {
-		internal Thread PipeThread;
-		internal ServerPipeConnection PipeConnection;
-		internal bool Listen = true;
-		internal DateTime LastAction;
-		private bool disposed = false;
-
-		private void PipeListener() {
-			CheckIfDisposed();
-			try {
-				Listen = true;				
-				while (Listen) {
-					LastAction = DateTime.Now;
-
-					// Service Client (new code)
-					IPCChannel ipcChannel = IPCChannel.Create(PipeConnection);
-					AppHandler appHandler = new AppHandler(ipcChannel);
-
-					try
-					{
-                        int retVal = appHandler.ServiceApp(new RequestParser());
-					} 
-					catch(Exception)
-					{						
-						ipcChannel.Close();
-					}
-
-					LastAction = DateTime.Now;
-					PipeConnection.Disconnect();
-					if (Listen) {
-						Connect();
-					}
-					WinCommunication.PipeManager.WakeUp();
-				}
-			} 
-			catch (System.Threading.ThreadAbortException) { }
-			catch (System.Threading.ThreadStateException) { }
-			catch (Exception) { 
-				// Log exception
-			
-			}
-			finally {
-				this.Close();
-			}
-		}
-		internal void Connect() {
-			CheckIfDisposed();
-			PipeConnection.Connect();
-		}
-		internal void Close() {
-			CheckIfDisposed();
-			this.Listen = false;
-			WinCommunication.PipeManager.RemoveServerChannel(this.PipeConnection.NativeHandle);
-			this.Dispose();
-		}
-		internal void Start() {
-			CheckIfDisposed();
-			PipeThread.Start();
-		}
-		private void CheckIfDisposed() {
-			if(this.disposed) {
-				throw new ObjectDisposedException("ServerNamedPipe");
-			}
-		}
-		public void Dispose() {
-			Dispose(true);
-			GC.SuppressFinalize(this);
-		}
-		private void Dispose(bool disposing) {
-			if(!this.disposed) {
-				PipeConnection.Dispose();
-				if (PipeThread != null) {
-					try {
-						PipeThread.Abort();
-					} 
-					catch (System.Threading.ThreadAbortException) { }
-					catch (System.Threading.ThreadStateException) { }
-					catch (Exception) {
-						// Log exception
-					}
-				}
-			}
-			disposed = true;         
-		}
-		~ServerNamedPipe() {
-			Dispose(false);
-		}
-
-		internal ServerNamedPipe(string name, uint outBuffer, uint inBuffer, int maxReadBytes) {
-			PipeConnection = new ServerPipeConnection(name, outBuffer, inBuffer, maxReadBytes, false);
-			PipeThread = new Thread(new ThreadStart(PipeListener));
-			PipeThread.IsBackground = true;
-			PipeThread.Name = "Pipe Thread " + this.PipeConnection.NativeHandle.ToString();
-			LastAction = DateTime.Now;
-		}
-	}
-}
\ No newline at end of file