public static SessionFolderData GetAllSessionsFromPuTTYCM(string fileExport) { SessionFolderData root = new SessionFolderData(""); if (fileExport == null || !File.Exists(fileExport)) { return root; } XmlDocument doc = new XmlDocument(); doc.Load(fileExport); XmlNodeList connections = doc.DocumentElement.SelectNodes("//connection[@type='PuTTY']"); SessionFolderData currentFolderData = root; foreach (XmlElement connection in connections) { //List<string> folders = new List<string>(); XmlElement node = connection.ParentNode as XmlElement; while (node != null && node.Name != "root") { if (node.Name == "container" && node.GetAttribute("type") == "folder") { //folders.Add(node.GetAttribute("name")); currentFolderData = currentFolderData.AddChildFolderData(node.GetAttribute("name")); } node = node.ParentNode as XmlElement; } //folders.Reverse(); //string parentPath = string.Join("/", folders.ToArray()); XmlElement info = (XmlElement)connection.SelectSingleNode("connection_info"); XmlElement login = (XmlElement)connection.SelectSingleNode("login"); SessionData session = new SessionData(); session.SessionName = info.SelectSingleNode("name").InnerText; session.Host = info.SelectSingleNode("host").InnerText; session.Port = Convert.ToInt32(info.SelectSingleNode("port").InnerText); session.Proto = (ConnectionProtocol)Enum.Parse(typeof(ConnectionProtocol), info.SelectSingleNode("protocol").InnerText); session.PuttySession = info.SelectSingleNode("session").InnerText; /* session.SessionId = string.IsNullOrEmpty(parentPath) ? session.SessionName : SessionData.CombineSessionIds(parentPath, session.SessionName);*/ session.Username = login.SelectSingleNode("login").InnerText; currentFolderData.AddSession(session); } return root; }
private void CreateNodes(SessionFolderData folderData, TreeNode currentNode) { foreach (SessionFolderData child in folderData.SessionFolderDataChildren) { TreeNode childNode = AddFolderNode(currentNode, child); CreateNodes(child, childNode); CreateNodesSession(child.SessionDataChildren, childNode); if (child.IsExpand) { childNode.Expand(); } else { childNode.Collapse(); } } }
private TreeNode AddFolderNode(TreeNode parentNode, SessionFolderData folderData) { TreeNode nodeNew = null; SuperPuTTY.ReportStatus("Adding new folder, {1}. parent={0}", parentNode.Text, folderData.Name); nodeNew = parentNode.Nodes.Add(folderData.Name, folderData.Name, ImageKeyFolder, ImageKeyFolder); nodeNew.ContextMenuStrip = this.contextMenuStripFolder; nodeNew.Tag = folderData; return nodeNew; }
public TreeNode getTreeNode(TreeNode treeNodeParent, SessionFolderData folderData) { foreach (TreeNode treeNode in treeNodeParent.Nodes) { if (IsFolderNode(treeNode)) { SessionFolderData tagData = (SessionFolderData) treeNode.Tag; if (tagData == folderData) { return treeNode; } } TreeNode childTreeNode = getTreeNode(treeNode, folderData); if (childTreeNode != null) { return childTreeNode; } } return null; }
public static void RemoveFolder(SessionFolderData sFolderData) { GetRootFolderData().RemoveFolder(sFolderData); }
public static void ImportSessions(SessionFolderData sessions, string folder) { /* foreach (FolderData session in sessions) { // pre-pend session id with the provided folder to put them //session.SessionId = MakeUniqueSessionId(SessionData.CombineSessionIds(folder, session.SessionId)); //session.SessionName = SessionData.GetSessionNameFromId(session.SessionId); AddSession(session); } Log.InfoFormat("Imported {0} sessions into {1}", sessions.Count, folder); */ //SaveSessions(); }
public static void AddSession(SessionData sessionData, SessionFolderData folderData) { folderData.AddSession(sessionData); }
public void InsertFolder(SessionFolderData sessionFolderData) { string sql = "INSERT INTO folder (parent_id, position, is_expand, label) VALUES "; sql += "(@parent_id, @position, @is_expand, @label)"; SQLiteCommand cmd = new SQLiteCommand(sql, _conn); cmd.Parameters.AddWithValue("@parent_id", -1); cmd.Parameters.AddWithValue("@position", -1); cmd.Parameters.AddWithValue("@is_expand", sessionFolderData.IsExpand); cmd.Parameters.AddWithValue("@label", sessionFolderData.Name); int result = cmd.ExecuteNonQuery(); if (result == 1) { MessageBox.Show("session inserted"); } else { MessageBox.Show("fail to insert session"); } cmd.Dispose(); }