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
		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. 4
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;
		}