All pastes #954484 Raw Edit

Anonymous

public text v1 · immutable
#954484 ·published 2008-03-23 22:42 UTC
rendered paste body
namespace TinyMail {

	public class MimePart: Gee.Iterable <MimePart> {
		string Filename { get; }
		string Description { get; }
		string ContentId { get; }
		string ContentType { get; }
		gboolean IsAttachment { get; }

		void DecodeToStream (GIO.OutputStream stream);
		void DecodeToStreamAsync (GIO.OutputStream stream, GIO.Cancellable cancel, GIO.AsyncReadyCallback callback);
	}

	public class WritableMimePart: MimePart, Gee.Collection <MimePart> {
		void SetFilename (string filename);
		void SetDescription (string desc);
		void SetContentId (string contentid);
		void SetContentType (string type);

		void Construct (GIO.InputStream stream, string mimetype, string transferencoding);
	}

	public class Message: MimePart {
	}

	private class MessageIterator: Gee.Iterator <Message> {
	}

	public class MessageContainerChange {
	}

	public interface MessageContainerObserver {
		public void Update (MessageContainerChange change);
	}

	public interface MessageContainer: Gee.Iterable <Message> {
	}

	public abstract class SearchResult: MessageContainer {
	}

	public abstract class Folder: MessageContainer, Gee.Collection <Message> {
		void SyncronizeAsync (GIO.Cancellable cancel, GIO.AsyncReadyCallback callback);

		void AddAsync (Message message, GIO.Cancellable cancel, GIO.AsyncReadyCallback callback);
		void RemoveAsync (Gee.List <Message> messages, GIO.Cancellable cancel, GIO.AsyncReadyCallback callback);
		void TransferAsync (Gee.List <Message> messages, Folder target, GIO.Cancellable cancel, GIO.AsyncReadyCallback callback);
		void CopyAsync (Gee.List <Message> messages, FolderStore target, GIO.Cancellable cancel, GIO.AsyncReadyCallback callback);
	}

	public interface MessageContainerStore {
	}

	public interface FolderStore: MessageContainerStore {
	}

	public interface PasswordRequester {
		string RequestPassword ();
		void ForgetIncorrectPassword ();
	}

	public interface Account: PasswordRequester {
		string Name { get; set; }
		string Proto { get; set; }
		string User { get; set; }
		string Host { get; set; }
		int port { get; set; }
		string AuthMech { get; set; }
		string UrlString { get; set; }
	}

	public class Query {
		public ArrayList InFolders;
		public string Subject;
		public string From;
		public string To;
		public string Cc;
		public string Bcc;
		public time_t Sent;
		public time_t Received;
	}

	public interface StoreAccount: MessageContainerStore {
		SearchResult Find (Query query);
		GetFolders (Gee.Container list);
	}


	public interface TransportAccount {
		void Send (Message message);
	}

	public interface SendQueue {
		Folder Outbox { get; }
		Folder Sentbox { get; }
	}
}