/* Generated by vala-dbus-binding-tool 1.0-aa2fb. Do not modify! */
/* Generated with: vala-dbus-binding-tool --no-synced --strip-namespace=net --strip-namespace=buzzert --rename-namespace=kordophone:DBusService --api-path=xml/ */
using GLib;

namespace DBusService {

	[DBus (name = "net.buzzert.kordophone.Settings", timeout = 120000)]
	public interface Settings : GLib.Object {

		[DBus (name = "ServerURL")]
		public abstract string server_u_r_l { owned get; set; }

		[DBus (name = "Username")]
		public abstract string username { owned get; set; }

		[DBus (name = "SetServer")]
		public abstract void set_server(string url, string user) throws DBusError, IOError;

		[DBus (name = "ConfigChanged")]
		public signal void config_changed();
	}

	[DBus (name = "net.buzzert.kordophone.Repository", timeout = 120000)]
	public interface Repository : GLib.Object {

		[DBus (name = "GetVersion")]
		public abstract string get_version() throws DBusError, IOError;

		[DBus (name = "GetConversations")]
		public abstract GLib.HashTable<string, GLib.Variant>[] get_conversations(int limit, int offset) throws DBusError, IOError;

		[DBus (name = "SyncConversationList")]
		public abstract void sync_conversation_list() throws DBusError, IOError;

		[DBus (name = "SyncAllConversations")]
		public abstract void sync_all_conversations() throws DBusError, IOError;

		[DBus (name = "SyncConversation")]
		public abstract void sync_conversation(string conversation_id) throws DBusError, IOError;

		[DBus (name = "MarkConversationAsRead")]
		public abstract void mark_conversation_as_read(string conversation_id) throws DBusError, IOError;

		[DBus (name = "ConversationsUpdated")]
		public signal void conversations_updated();

		[DBus (name = "DeleteAllConversations")]
		public abstract void delete_all_conversations() throws DBusError, IOError;

		[DBus (name = "GetMessages")]
		public abstract GLib.HashTable<string, GLib.Variant>[] get_messages(string conversation_id, string last_message_id) throws DBusError, IOError;

		[DBus (name = "SendMessage")]
		public abstract string send_message(string conversation_id, string text, string[] attachment_guids) throws DBusError, IOError;

		[DBus (name = "MessagesUpdated")]
		public signal void messages_updated(string conversation_id);

		[DBus (name = "UpdateStreamReconnected")]
		public signal void update_stream_reconnected();

		[DBus (name = "GetAttachmentInfo")]
		public abstract RepositoryAttachmentInfoStruct get_attachment_info(string attachment_id) throws DBusError, IOError;

		[DBus (name = "DownloadAttachment")]
		public abstract void download_attachment(string attachment_id, bool preview) throws DBusError, IOError;

		[DBus (name = "UploadAttachment")]
		public abstract string upload_attachment(string path) throws DBusError, IOError;

		[DBus (name = "AttachmentDownloadCompleted")]
		public signal void attachment_download_completed(string attachment_id);

		[DBus (name = "AttachmentDownloadFailed")]
		public signal void attachment_download_failed(string attachment_id, string error_message);

		[DBus (name = "AttachmentUploadCompleted")]
		public signal void attachment_upload_completed(string upload_guid, string attachment_guid);
	}

	public struct RepositoryAttachmentInfoStruct {
		public string attr1;
		public string attr2;
		public bool attr3;
		public bool attr4;
	}
}
