Esempio n. 1
0
		private static ICollection GetImapChildren (MailFolder folder) {
			ArrayList children = new ArrayList ();
			DirectoryInfo folder_dir;

			folder_dir = new DirectoryInfo (Path.Combine(folder.Path,"folders"));

			if (!folder_dir.Exists)
				folder_dir = new DirectoryInfo (Path.Combine(folder.Path,"subfolders"));
			
			if (!folder_dir.Exists)
				return children;
			
			foreach (DirectoryInfo child_folder_dir in folder_dir.GetDirectories ()) {
				MailFolder child_folder = new MailFolder (child_folder_dir.Name, child_folder_dir.FullName);
				child_folder.AddChildren (GetImapChildren (child_folder));
				children.Add (child_folder);
			}

			return children;
		}
Esempio n. 2
0
		private static ICollection GetLocalChildren (MailFolder folder) {
			ArrayList children = new ArrayList ();
			DirectoryInfo folder_dir;

			folder_dir = new DirectoryInfo (folder.Path);

			if (!folder_dir.Exists)
				folder_dir = new DirectoryInfo (folder_dir.FullName + ".sbd");

			if (!folder_dir.Exists)
				return children;
			
			foreach (FileInfo child_summary_file in folder_dir.GetFiles ("*.cmeta")) {
				MailFolder child_folder = new MailFolder (child_summary_file.Name.Substring (0,child_summary_file.Name.Length-6),
									  child_summary_file.FullName.Substring (0, child_summary_file.FullName.Length-6));
				child_folder.AddChildren (GetLocalChildren (child_folder));
				children.Add (child_folder);
			}

			return children;
		}
Esempio n. 3
0
		public void AddChild (MailFolder child)
		{
			this.children.Add (child);
		}