evolution-sharp r196 - in branches/0_18: . evolution evolution/src



Author: jjohnny
Date: Fri Nov  7 11:36:50 2008
New Revision: 196
URL: http://svn.gnome.org/viewvc/evolution-sharp?rev=196&view=rev

Log:
Use older gapi-codegen for signals. Fixes BGO 555242

Added:
   branches/0_18/evolution/BookView.custom
   branches/0_18/evolution/SourceGroup.custom
   branches/0_18/evolution/SourceList.custom
   branches/0_18/evolution/src/SignalHandlers.cs
Modified:
   branches/0_18/ChangeLog
   branches/0_18/evolution/Book.custom
   branches/0_18/evolution/Cal.custom
   branches/0_18/evolution/CalBackend.custom
   branches/0_18/evolution/CalView.custom
   branches/0_18/evolution/Evolution.metadata
   branches/0_18/evolution/Makefile.am

Modified: branches/0_18/evolution/Book.custom
==============================================================================
--- branches/0_18/evolution/Book.custom	(original)
+++ branches/0_18/evolution/Book.custom	Fri Nov  7 11:36:50 2008
@@ -114,3 +114,140 @@
 
 			return raw_ret;
 		}
+		[GLib.CDeclCallback]
+		delegate void WritableStatusSignalDelegate (IntPtr arg0, bool arg1, IntPtr gch);
+
+		static void WritableStatusSignalCallback (IntPtr arg0, bool arg1, IntPtr gch)
+		{
+			Evolution.WritableStatusArgs args = new Evolution.WritableStatusArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = arg1;
+				Evolution.WritableStatusHandler handler = (Evolution.WritableStatusHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void WritableStatusVMDelegate (IntPtr book, bool writable);
+
+		static WritableStatusVMDelegate WritableStatusVMCallback;
+
+		static void writablestatus_cb (IntPtr book, bool writable)
+		{
+			try {
+				Book book_managed = GLib.Object.GetObject (book, false) as Book;
+				book_managed.OnWritableStatus (writable);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideWritableStatus (GLib.GType gtype)
+		{
+			if (WritableStatusVMCallback == null)
+				WritableStatusVMCallback = new WritableStatusVMDelegate (writablestatus_cb);
+			OverrideVirtualMethod (gtype, "writable_status", WritableStatusVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.Book), ConnectionMethod="OverrideWritableStatus")]
+		protected virtual void OnWritableStatus (bool writable)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (writable);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("writable_status")]
+		public event Evolution.WritableStatusHandler WritableStatus {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "writable_status", new WritableStatusSignalDelegate(WritableStatusSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "writable_status", new WritableStatusSignalDelegate(WritableStatusSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ConnectionStatusSignalDelegate (IntPtr arg0, bool arg1, IntPtr gch);
+
+		static void ConnectionStatusSignalCallback (IntPtr arg0, bool arg1, IntPtr gch)
+		{
+			Evolution.ConnectionStatusArgs args = new Evolution.ConnectionStatusArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = arg1;
+				Evolution.ConnectionStatusHandler handler = (Evolution.ConnectionStatusHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ConnectionStatusVMDelegate (IntPtr book, bool connected);
+
+		static ConnectionStatusVMDelegate ConnectionStatusVMCallback;
+
+		static void connectionstatus_cb (IntPtr book, bool connected)
+		{
+			try {
+				Book book_managed = GLib.Object.GetObject (book, false) as Book;
+				book_managed.OnConnectionStatus (connected);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideConnectionStatus (GLib.GType gtype)
+		{
+			if (ConnectionStatusVMCallback == null)
+				ConnectionStatusVMCallback = new ConnectionStatusVMDelegate (connectionstatus_cb);
+			OverrideVirtualMethod (gtype, "connection_status", ConnectionStatusVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.Book), ConnectionMethod="OverrideConnectionStatus")]
+		protected virtual void OnConnectionStatus (bool connected)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (connected);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("connection_status")]
+		public event Evolution.ConnectionStatusHandler ConnectionStatus {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "connection_status", new ConnectionStatusSignalDelegate(ConnectionStatusSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "connection_status", new ConnectionStatusSignalDelegate(ConnectionStatusSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}

Added: branches/0_18/evolution/BookView.custom
==============================================================================
--- (empty file)
+++ branches/0_18/evolution/BookView.custom	Fri Nov  7 11:36:50 2008
@@ -0,0 +1,357 @@
+		[GLib.CDeclCallback]
+		delegate void StatusMessageSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void StatusMessageSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.StatusMessageArgs args = new Evolution.StatusMessageArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = GLib.Marshaller.Utf8PtrToString (arg1);
+				Evolution.StatusMessageHandler handler = (Evolution.StatusMessageHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void StatusMessageVMDelegate (IntPtr book_view, IntPtr message);
+
+		static StatusMessageVMDelegate StatusMessageVMCallback;
+
+		static void statusmessage_cb (IntPtr book_view, IntPtr message)
+		{
+			try {
+				BookView book_view_managed = GLib.Object.GetObject (book_view, false) as BookView;
+				book_view_managed.OnStatusMessage (GLib.Marshaller.Utf8PtrToString (message));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideStatusMessage (GLib.GType gtype)
+		{
+			if (StatusMessageVMCallback == null)
+				StatusMessageVMCallback = new StatusMessageVMDelegate (statusmessage_cb);
+			OverrideVirtualMethod (gtype, "status_message", StatusMessageVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.BookView), ConnectionMethod="OverrideStatusMessage")]
+		protected virtual void OnStatusMessage (string message)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (message);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("status_message")]
+		public event Evolution.StatusMessageHandler StatusMessage {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "status_message", new StatusMessageSignalDelegate(StatusMessageSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "status_message", new StatusMessageSignalDelegate(StatusMessageSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ContactsAddedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void ContactsAddedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.ContactsAddedArgs args = new Evolution.ContactsAddedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				if (arg1 == IntPtr.Zero)
+					args.Args[0] = null;
+				else {
+					args.Args[0] = new GLib.List(arg1);
+				}
+				Evolution.ContactsAddedHandler handler = (Evolution.ContactsAddedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ContactsAddedVMDelegate (IntPtr book_view, IntPtr contacts);
+
+		static ContactsAddedVMDelegate ContactsAddedVMCallback;
+
+		static void contactsadded_cb (IntPtr book_view, IntPtr contacts)
+		{
+			try {
+				BookView book_view_managed = GLib.Object.GetObject (book_view, false) as BookView;
+				book_view_managed.OnContactsAdded (new GLib.List(contacts));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideContactsAdded (GLib.GType gtype)
+		{
+			if (ContactsAddedVMCallback == null)
+				ContactsAddedVMCallback = new ContactsAddedVMDelegate (contactsadded_cb);
+			OverrideVirtualMethod (gtype, "contacts_added", ContactsAddedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.BookView), ConnectionMethod="OverrideContactsAdded")]
+		protected virtual void OnContactsAdded (GLib.List contacts)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (contacts);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("contacts_added")]
+		public event Evolution.ContactsAddedHandler ContactsAdded {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "contacts_added", new ContactsAddedSignalDelegate(ContactsAddedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "contacts_added", new ContactsAddedSignalDelegate(ContactsAddedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ContactsChangedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void ContactsChangedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.ContactsChangedArgs args = new Evolution.ContactsChangedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				if (arg1 == IntPtr.Zero)
+					args.Args[0] = null;
+				else {
+					args.Args[0] = new GLib.List(arg1);
+				}
+				Evolution.ContactsChangedHandler handler = (Evolution.ContactsChangedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ContactsChangedVMDelegate (IntPtr book_view, IntPtr contacts);
+
+		static ContactsChangedVMDelegate ContactsChangedVMCallback;
+
+		static void contactschanged_cb (IntPtr book_view, IntPtr contacts)
+		{
+			try {
+				BookView book_view_managed = GLib.Object.GetObject (book_view, false) as BookView;
+				book_view_managed.OnContactsChanged (new GLib.List(contacts));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideContactsChanged (GLib.GType gtype)
+		{
+			if (ContactsChangedVMCallback == null)
+				ContactsChangedVMCallback = new ContactsChangedVMDelegate (contactschanged_cb);
+			OverrideVirtualMethod (gtype, "contacts_changed", ContactsChangedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.BookView), ConnectionMethod="OverrideContactsChanged")]
+		protected virtual void OnContactsChanged (GLib.List contacts)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (contacts);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("contacts_changed")]
+		public event Evolution.ContactsChangedHandler ContactsChanged {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "contacts_changed", new ContactsChangedSignalDelegate(ContactsChangedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "contacts_changed", new ContactsChangedSignalDelegate(ContactsChangedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ContactsRemovedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void ContactsRemovedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.ContactsRemovedArgs args = new Evolution.ContactsRemovedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				if (arg1 == IntPtr.Zero)
+					args.Args[0] = null;
+				else {
+					args.Args[0] = new GLib.List(arg1);
+				}
+				Evolution.ContactsRemovedHandler handler = (Evolution.ContactsRemovedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ContactsRemovedVMDelegate (IntPtr book_view, IntPtr ids);
+
+		static ContactsRemovedVMDelegate ContactsRemovedVMCallback;
+
+		static void contactsremoved_cb (IntPtr book_view, IntPtr ids)
+		{
+			try {
+				BookView book_view_managed = GLib.Object.GetObject (book_view, false) as BookView;
+				book_view_managed.OnContactsRemoved (new GLib.List(ids));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideContactsRemoved (GLib.GType gtype)
+		{
+			if (ContactsRemovedVMCallback == null)
+				ContactsRemovedVMCallback = new ContactsRemovedVMDelegate (contactsremoved_cb);
+			OverrideVirtualMethod (gtype, "contacts_removed", ContactsRemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.BookView), ConnectionMethod="OverrideContactsRemoved")]
+		protected virtual void OnContactsRemoved (GLib.List ids)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (ids);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("contacts_removed")]
+		public event Evolution.ContactsRemovedHandler ContactsRemoved {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "contacts_removed", new ContactsRemovedSignalDelegate(ContactsRemovedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "contacts_removed", new ContactsRemovedSignalDelegate(ContactsRemovedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SequenceCompleteSignalDelegate (IntPtr arg0, int arg1, IntPtr gch);
+
+		static void SequenceCompleteSignalCallback (IntPtr arg0, int arg1, IntPtr gch)
+		{
+			Evolution.SequenceCompleteArgs args = new Evolution.SequenceCompleteArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = (Evolution.BookViewStatus) arg1;
+				Evolution.SequenceCompleteHandler handler = (Evolution.SequenceCompleteHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SequenceCompleteVMDelegate (IntPtr book_view, int status);
+
+		static SequenceCompleteVMDelegate SequenceCompleteVMCallback;
+
+		static void sequencecomplete_cb (IntPtr book_view, int status)
+		{
+			try {
+				BookView book_view_managed = GLib.Object.GetObject (book_view, false) as BookView;
+				book_view_managed.OnSequenceComplete ((Evolution.BookViewStatus) status);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideSequenceComplete (GLib.GType gtype)
+		{
+			if (SequenceCompleteVMCallback == null)
+				SequenceCompleteVMCallback = new SequenceCompleteVMDelegate (sequencecomplete_cb);
+			OverrideVirtualMethod (gtype, "sequence_complete", SequenceCompleteVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.BookView), ConnectionMethod="OverrideSequenceComplete")]
+		protected virtual void OnSequenceComplete (Evolution.BookViewStatus status)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (status);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("sequence_complete")]
+		public event Evolution.SequenceCompleteHandler SequenceComplete {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "sequence_complete", new SequenceCompleteSignalDelegate(SequenceCompleteSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "sequence_complete", new SequenceCompleteSignalDelegate(SequenceCompleteSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+

Modified: branches/0_18/evolution/Cal.custom
==============================================================================
--- branches/0_18/evolution/Cal.custom	(original)
+++ branches/0_18/evolution/Cal.custom	Fri Nov  7 11:36:50 2008
@@ -100,3 +100,141 @@
 			return raw_ret;
 		}
 
+
+		[GLib.CDeclCallback]
+		delegate void BackendErrorSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void BackendErrorSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.BackendErrorArgs args = new Evolution.BackendErrorArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = GLib.Marshaller.Utf8PtrToString (arg1);
+				Evolution.BackendErrorHandler handler = (Evolution.BackendErrorHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void BackendErrorVMDelegate (IntPtr ecal, IntPtr message);
+
+		static BackendErrorVMDelegate BackendErrorVMCallback;
+
+		static void backenderror_cb (IntPtr ecal, IntPtr message)
+		{
+			try {
+				Cal ecal_managed = GLib.Object.GetObject (ecal, false) as Cal;
+				ecal_managed.OnBackendError (GLib.Marshaller.Utf8PtrToString (message));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideBackendError (GLib.GType gtype)
+		{
+			if (BackendErrorVMCallback == null)
+				BackendErrorVMCallback = new BackendErrorVMDelegate (backenderror_cb);
+			OverrideVirtualMethod (gtype, "backend_error", BackendErrorVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.Cal), ConnectionMethod="OverrideBackendError")]
+		protected virtual void OnBackendError (string message)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (message);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("backend_error")]
+		public event Evolution.BackendErrorHandler BackendError {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "backend_error", new BackendErrorSignalDelegate(BackendErrorSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "backend_error", new BackendErrorSignalDelegate(BackendErrorSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void CalOpenedSignalDelegate (IntPtr arg0, int arg1, IntPtr gch);
+
+		static void CalOpenedSignalCallback (IntPtr arg0, int arg1, IntPtr gch)
+		{
+			Evolution.CalOpenedArgs args = new Evolution.CalOpenedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = (Evolution.CalendarStatus) arg1;
+				Evolution.CalOpenedHandler handler = (Evolution.CalOpenedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void CalOpenedVMDelegate (IntPtr ecal, int status);
+
+		static CalOpenedVMDelegate CalOpenedVMCallback;
+
+		static void calopened_cb (IntPtr ecal, int status)
+		{
+			try {
+				Cal ecal_managed = GLib.Object.GetObject (ecal, false) as Cal;
+				ecal_managed.OnCalOpened ((Evolution.CalendarStatus) status);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideCalOpened (GLib.GType gtype)
+		{
+			if (CalOpenedVMCallback == null)
+				CalOpenedVMCallback = new CalOpenedVMDelegate (calopened_cb);
+			OverrideVirtualMethod (gtype, "cal_opened", CalOpenedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.Cal), ConnectionMethod="OverrideCalOpened")]
+		protected virtual void OnCalOpened (Evolution.CalendarStatus status)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (status);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("cal_opened")]
+		public event Evolution.CalOpenedHandler CalOpened {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "cal_opened", new CalOpenedSignalDelegate(CalOpenedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "cal_opened", new CalOpenedSignalDelegate(CalOpenedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}

Modified: branches/0_18/evolution/CalBackend.custom
==============================================================================
--- branches/0_18/evolution/CalBackend.custom	(original)
+++ branches/0_18/evolution/CalBackend.custom	Fri Nov  7 11:36:50 2008
@@ -29,3 +29,142 @@
 		GLib.Marshaller.Free (native_old_object);
 		GLib.Marshaller.Free (native_objekt);
 	}
+
+		[GLib.CDeclCallback]
+		delegate void OpenedSignalDelegate (IntPtr arg0, int arg1, IntPtr gch);
+
+		static void OpenedSignalCallback (IntPtr arg0, int arg1, IntPtr gch)
+		{
+			Evolution.OpenedArgs args = new Evolution.OpenedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = arg1;
+				Evolution.OpenedHandler handler = (Evolution.OpenedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void OpenedVMDelegate (IntPtr backend, int status);
+
+		static OpenedVMDelegate OpenedVMCallback;
+
+		static void opened_cb (IntPtr backend, int status)
+		{
+			try {
+				CalBackend backend_managed = GLib.Object.GetObject (backend, false) as CalBackend;
+				backend_managed.OnOpened (status);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideOpened (GLib.GType gtype)
+		{
+			if (OpenedVMCallback == null)
+				OpenedVMCallback = new OpenedVMDelegate (opened_cb);
+			OverrideVirtualMethod (gtype, "opened", OpenedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalBackend), ConnectionMethod="OverrideOpened")]
+		protected virtual void OnOpened (int status)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (status);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("opened")]
+		public event Evolution.OpenedHandler Opened {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "opened", new OpenedSignalDelegate(OpenedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "opened", new OpenedSignalDelegate(OpenedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void RemovedSignalDelegate (IntPtr arg0, int arg1, IntPtr gch);
+
+		static void RemovedSignalCallback (IntPtr arg0, int arg1, IntPtr gch)
+		{
+			Evolution.RemovedArgs args = new Evolution.RemovedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = arg1;
+				Evolution.RemovedHandler handler = (Evolution.RemovedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void RemovedVMDelegate (IntPtr backend, int status);
+
+		static RemovedVMDelegate RemovedVMCallback;
+
+		static void removed_cb (IntPtr backend, int status)
+		{
+			try {
+				CalBackend backend_managed = GLib.Object.GetObject (backend, false) as CalBackend;
+				backend_managed.OnRemoved (status);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideRemoved (GLib.GType gtype)
+		{
+			if (RemovedVMCallback == null)
+				RemovedVMCallback = new RemovedVMDelegate (removed_cb);
+			OverrideVirtualMethod (gtype, "removed", RemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalBackend), ConnectionMethod="OverrideRemoved")]
+		protected virtual void OnRemoved (int status)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (status);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("removed")]
+		public event Evolution.RemovedHandler Removed {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "removed", new RemovedSignalDelegate(RemovedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "removed", new RemovedSignalDelegate(RemovedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+

Modified: branches/0_18/evolution/CalView.custom
==============================================================================
--- branches/0_18/evolution/CalView.custom	(original)
+++ branches/0_18/evolution/CalView.custom	Fri Nov  7 11:36:50 2008
@@ -13,4 +13,361 @@
 			}
 		}
 		
-		
\ No newline at end of file
+		[GLib.CDeclCallback]
+		delegate void ObjectsRemovedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void ObjectsRemovedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.ObjectsRemovedArgs args = new Evolution.ObjectsRemovedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				if (arg1 == IntPtr.Zero)
+					args.Args[0] = null;
+				else {
+					args.Args[0] = new GLib.List(arg1);
+				}
+				Evolution.ObjectsRemovedHandler handler = (Evolution.ObjectsRemovedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ObjectsRemovedVMDelegate (IntPtr view, IntPtr uids);
+
+		static ObjectsRemovedVMDelegate ObjectsRemovedVMCallback;
+
+		static void objectsremoved_cb (IntPtr view, IntPtr uids)
+		{
+			try {
+				CalView view_managed = GLib.Object.GetObject (view, false) as CalView;
+				view_managed.OnObjectsRemoved (new GLib.List(uids));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideObjectsRemoved (GLib.GType gtype)
+		{
+			if (ObjectsRemovedVMCallback == null)
+				ObjectsRemovedVMCallback = new ObjectsRemovedVMDelegate (objectsremoved_cb);
+			OverrideVirtualMethod (gtype, "objects_removed", ObjectsRemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalView), ConnectionMethod="OverrideObjectsRemoved")]
+		protected virtual void OnObjectsRemoved (GLib.List uids)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (uids);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("objects_removed")]
+		public event Evolution.ObjectsRemovedHandler ObjectsRemoved {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "objects_removed", new ObjectsRemovedSignalDelegate(ObjectsRemovedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "objects_removed", new ObjectsRemovedSignalDelegate(ObjectsRemovedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ViewDoneSignalDelegate (IntPtr arg0, int arg1, IntPtr gch);
+
+		static void ViewDoneSignalCallback (IntPtr arg0, int arg1, IntPtr gch)
+		{
+			Evolution.ViewDoneArgs args = new Evolution.ViewDoneArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = (Evolution.CalendarStatus) arg1;
+				Evolution.ViewDoneHandler handler = (Evolution.ViewDoneHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ViewDoneVMDelegate (IntPtr view, int status);
+
+		static ViewDoneVMDelegate ViewDoneVMCallback;
+
+		static void viewdone_cb (IntPtr view, int status)
+		{
+			try {
+				CalView view_managed = GLib.Object.GetObject (view, false) as CalView;
+				view_managed.OnViewDone ((Evolution.CalendarStatus) status);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideViewDone (GLib.GType gtype)
+		{
+			if (ViewDoneVMCallback == null)
+				ViewDoneVMCallback = new ViewDoneVMDelegate (viewdone_cb);
+			OverrideVirtualMethod (gtype, "view_done", ViewDoneVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalView), ConnectionMethod="OverrideViewDone")]
+		protected virtual void OnViewDone (Evolution.CalendarStatus status)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (status);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("view_done")]
+		public event Evolution.ViewDoneHandler ViewDone {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "view_done", new ViewDoneSignalDelegate(ViewDoneSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "view_done", new ViewDoneSignalDelegate(ViewDoneSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ObjectsModifiedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void ObjectsModifiedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.ObjectsModifiedArgs args = new Evolution.ObjectsModifiedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				if (arg1 == IntPtr.Zero)
+					args.Args[0] = null;
+				else {
+					args.Args[0] = new GLib.List(arg1);
+				}
+				Evolution.ObjectsModifiedHandler handler = (Evolution.ObjectsModifiedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ObjectsModifiedVMDelegate (IntPtr view, IntPtr objects);
+
+		static ObjectsModifiedVMDelegate ObjectsModifiedVMCallback;
+
+		static void objectsmodified_cb (IntPtr view, IntPtr objects)
+		{
+			try {
+				CalView view_managed = GLib.Object.GetObject (view, false) as CalView;
+				view_managed.OnObjectsModified (new GLib.List(objects));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideObjectsModified (GLib.GType gtype)
+		{
+			if (ObjectsModifiedVMCallback == null)
+				ObjectsModifiedVMCallback = new ObjectsModifiedVMDelegate (objectsmodified_cb);
+			OverrideVirtualMethod (gtype, "objects_modified", ObjectsModifiedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalView), ConnectionMethod="OverrideObjectsModified")]
+		protected virtual void OnObjectsModified (GLib.List objects)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (objects);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("objects_modified")]
+		public event Evolution.ObjectsModifiedHandler ObjectsModified {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "objects_modified", new ObjectsModifiedSignalDelegate(ObjectsModifiedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "objects_modified", new ObjectsModifiedSignalDelegate(ObjectsModifiedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ViewProgressSignalDelegate (IntPtr arg0, IntPtr arg1, int arg2, IntPtr gch);
+
+		static void ViewProgressSignalCallback (IntPtr arg0, IntPtr arg1, int arg2, IntPtr gch)
+		{
+			Evolution.ViewProgressArgs args = new Evolution.ViewProgressArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[2];
+				args.Args[0] = GLib.Marshaller.PtrToStringGFree(arg1);
+				args.Args[1] = arg2;
+				Evolution.ViewProgressHandler handler = (Evolution.ViewProgressHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ViewProgressVMDelegate (IntPtr view, IntPtr message, int percent);
+
+		static ViewProgressVMDelegate ViewProgressVMCallback;
+
+		static void viewprogress_cb (IntPtr view, IntPtr message, int percent)
+		{
+			try {
+				CalView view_managed = GLib.Object.GetObject (view, false) as CalView;
+				view_managed.OnViewProgress (GLib.Marshaller.PtrToStringGFree(message), percent);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideViewProgress (GLib.GType gtype)
+		{
+			if (ViewProgressVMCallback == null)
+				ViewProgressVMCallback = new ViewProgressVMDelegate (viewprogress_cb);
+			OverrideVirtualMethod (gtype, "view_progress", ViewProgressVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalView), ConnectionMethod="OverrideViewProgress")]
+		protected virtual void OnViewProgress (string message, int percent)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+			GLib.Value[] vals = new GLib.Value [3];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (message);
+			inst_and_params.Append (vals [1]);
+			vals [2] = new GLib.Value (percent);
+			inst_and_params.Append (vals [2]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("view_progress")]
+		public event Evolution.ViewProgressHandler ViewProgress {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "view_progress", new ViewProgressSignalDelegate(ViewProgressSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "view_progress", new ViewProgressSignalDelegate(ViewProgressSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+		[GLib.CDeclCallback]
+	delegate void ObjectsAddedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+	static void ObjectsAddedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+	{
+		Evolution.ObjectsAddedArgs args = new Evolution.ObjectsAddedArgs ();
+		try {
+			GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+			if (sig == null)
+				throw new Exception("Unknown signal GC handle received " + gch);
+
+			args.Args = new object[1];
+			if (arg1 == IntPtr.Zero)
+				args.Args[0] = null;
+			else {
+				args.Args[0] = new GLib.List(arg1);
+			}
+			Evolution.ObjectsAddedHandler handler = (Evolution.ObjectsAddedHandler) sig.Handler;
+			handler (GLib.Object.GetObject (arg0), args);
+		} catch (Exception e) {
+			GLib.ExceptionManager.RaiseUnhandledException (e, false);
+		}
+	}
+
+	[GLib.CDeclCallback]
+	delegate void ObjectsAddedVMDelegate (IntPtr view, IntPtr objects);
+
+	static ObjectsAddedVMDelegate ObjectsAddedVMCallback;
+
+	static void objectsadded_cb (IntPtr view, IntPtr objects)
+	{
+		try {
+			CalView view_managed = GLib.Object.GetObject (view, false) as CalView;
+			view_managed.OnObjectsAdded (new GLib.List(objects));
+		} catch (Exception e) {
+			GLib.ExceptionManager.RaiseUnhandledException (e, false);
+		}
+	}
+
+	private static void OverrideObjectsAdded (GLib.GType gtype)
+	{
+		if (ObjectsAddedVMCallback == null)
+			ObjectsAddedVMCallback = new ObjectsAddedVMDelegate (objectsadded_cb);
+		OverrideVirtualMethod (gtype, "objects_added", ObjectsAddedVMCallback);
+	}
+
+	[GLib.DefaultSignalHandler(Type=typeof(Evolution.CalView), ConnectionMethod="OverrideObjectsAdded")]
+	protected virtual void OnObjectsAdded (GLib.List objects)
+	{
+		GLib.Value ret = GLib.Value.Empty;
+		GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+		GLib.Value[] vals = new GLib.Value [2];
+		vals [0] = new GLib.Value (this);
+		inst_and_params.Append (vals [0]);
+		vals [1] = new GLib.Value (objects);
+		inst_and_params.Append (vals [1]);
+		g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+		foreach (GLib.Value v in vals)
+			v.Dispose ();
+	}
+
+	[GLib.Signal("objects_added")]
+	public event Evolution.ObjectsAddedHandler ObjectsAdded {
+		add {
+			GLib.Signal sig = GLib.Signal.Lookup (this, "objects_added", new ObjectsAddedSignalDelegate(ObjectsAddedSignalCallback));
+			sig.AddDelegate (value);
+		}
+		remove {
+			GLib.Signal sig = GLib.Signal.Lookup (this, "objects_added", new ObjectsAddedSignalDelegate(ObjectsAddedSignalCallback));
+			sig.RemoveDelegate (value);
+		}
+	}

Modified: branches/0_18/evolution/Evolution.metadata
==============================================================================
--- branches/0_18/evolution/Evolution.metadata	(original)
+++ branches/0_18/evolution/Evolution.metadata	Fri Nov  7 11:36:50 2008
@@ -63,9 +63,33 @@
   <attr path="/api/namespace/struct[ name='Icaltimetype']" name="opaque">true</attr>
   <attr path="/api/namespace" name="name">Evolution</attr>
 
-  <!-- Not sure why this is marked as a virtual method initially -->
+  <!-- Using custom for these signals because of BGO#555242 -->
+  <attr path="/api/namespace/object[ name='CalView']/signal[ name='ObjectsAdded']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[ name='CalView']/signal[ name='ObjectsRemoved']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[ name='CalView']/signal[ name='ObjectsModified']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='CalView']/signal[ name='ViewDone']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='CalView']/signal[ name='ViewProgress']" name="hidden">1</attr> 
 
-  <attr path="/api/namespace/object[ name='CalView']/virtual_method[ name='ObjectsAdded']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[ name='SourceGroup']/signal[ name='SourceAdded']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='SourceGroup']/signal[ name='SourceRemoved']" name="hidden">1</attr> 
+
+  <attr path="/api/namespace/object[ name='SourceList']/signal[ name='GroupRemoved']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='SourceList']/signal[ name='GroupAdded']" name="hidden">1</attr> 
+
+  <attr path="/api/namespace/object[ name='Book']/signal[ name='WritableStatus']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='Book']/signal[ name='ConnectionStatus']" name="hidden">1</attr> 
+
+  <attr path="/api/namespace/object[ name='BookView']/signal[ name='StatusMessage']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='BookView']/signal[ name='ContactsAdded']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='BookView']/signal[ name='ContactsChanged']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='BookView']/signal[ name='ContactsRemoved']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='BookView']/signal[ name='SequenceComplete']" name="hidden">1</attr> 
+
+  <attr path="/api/namespace/object[ name='CalBackend']/signal[ name='Opened']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='CalBackend']/signal[ name='Removed']" name="hidden">1</attr> 
+
+  <attr path="/api/namespace/object[ name='Cal']/signal[ name='BackendError']" name="hidden">1</attr> 
+  <attr path="/api/namespace/object[ name='Cal']/signal[ name='CalOpened']" name="hidden">1</attr> 
 
 <!--  <add-node path="/api/namespace/object[ name='CalView']">
     <signal name="ObjectsAdded" cname="objects_added" when="FIRST">

Modified: branches/0_18/evolution/Makefile.am
==============================================================================
--- branches/0_18/evolution/Makefile.am	(original)
+++ branches/0_18/evolution/Makefile.am	Fri Nov  7 11:36:50 2008
@@ -44,6 +44,7 @@
 	$(SOURCES_2_24)			\
 	src/CalUtil.cs			\
 	src/GLibUtil.cs			\
+	src/SignalHandlers.cs		\
 	src/ContactPhoto.cs		\
 	src/Camel.cs			\
 	src/Evolution.cs		
@@ -53,10 +54,13 @@
 
 customs = 				\
 	Book.custom			\
+	BookView.custom			\
 	Contact.custom			\
 	Cal.custom			\
 	CalView.custom			\
 	Source.custom			\
+	SourceList.custom		\
+	SourceGroup.custom		\
 	VCard.custom			\
 	VCardAttribute.custom		\
 	$(CUSTOMS_2_24)

Added: branches/0_18/evolution/SourceGroup.custom
==============================================================================
--- (empty file)
+++ branches/0_18/evolution/SourceGroup.custom	Fri Nov  7 11:36:50 2008
@@ -0,0 +1,138 @@
+
+		[GLib.CDeclCallback]
+		delegate void SourceAddedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void SourceAddedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.SourceAddedArgs args = new Evolution.SourceAddedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = GLib.Object.GetObject(arg1) as Evolution.Source;
+				Evolution.SourceAddedHandler handler = (Evolution.SourceAddedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SourceAddedVMDelegate (IntPtr source_list, IntPtr source);
+
+		static SourceAddedVMDelegate SourceAddedVMCallback;
+
+		static void sourceadded_cb (IntPtr source_list, IntPtr source)
+		{
+			try {
+				SourceGroup source_list_managed = GLib.Object.GetObject (source_list, false) as SourceGroup;
+				source_list_managed.OnSourceAdded (GLib.Object.GetObject(source) as Evolution.Source);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideSourceAdded (GLib.GType gtype)
+		{
+			if (SourceAddedVMCallback == null)
+				SourceAddedVMCallback = new SourceAddedVMDelegate (sourceadded_cb);
+			OverrideVirtualMethod (gtype, "source_added", SourceAddedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.SourceGroup), ConnectionMethod="OverrideSourceAdded")]
+		protected virtual void OnSourceAdded (Evolution.Source source)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (source);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("source_added")]
+		public event Evolution.SourceAddedHandler SourceAdded {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "source_added", new SourceAddedSignalDelegate(SourceAddedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "source_added", new SourceAddedSignalDelegate(SourceAddedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SourceRemovedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void SourceRemovedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.SourceRemovedArgs args = new Evolution.SourceRemovedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = GLib.Object.GetObject(arg1) as Evolution.Source;
+				Evolution.SourceRemovedHandler handler = (Evolution.SourceRemovedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SourceRemovedVMDelegate (IntPtr source_list, IntPtr source);
+
+		static SourceRemovedVMDelegate SourceRemovedVMCallback;
+
+		static void sourceremoved_cb (IntPtr source_list, IntPtr source)
+		{
+			try {
+				SourceGroup source_list_managed = GLib.Object.GetObject (source_list, false) as SourceGroup;
+				source_list_managed.OnSourceRemoved (GLib.Object.GetObject(source) as Evolution.Source);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideSourceRemoved (GLib.GType gtype)
+		{
+			if (SourceRemovedVMCallback == null)
+				SourceRemovedVMCallback = new SourceRemovedVMDelegate (sourceremoved_cb);
+			OverrideVirtualMethod (gtype, "source_removed", SourceRemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.SourceGroup), ConnectionMethod="OverrideSourceRemoved")]
+		protected virtual void OnSourceRemoved (Evolution.Source source)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (source);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("source_removed")]
+		public event Evolution.SourceRemovedHandler SourceRemoved {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "source_removed", new SourceRemovedSignalDelegate(SourceRemovedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "source_removed", new SourceRemovedSignalDelegate(SourceRemovedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}

Added: branches/0_18/evolution/SourceList.custom
==============================================================================
--- (empty file)
+++ branches/0_18/evolution/SourceList.custom	Fri Nov  7 11:36:50 2008
@@ -0,0 +1,136 @@
+		delegate void GroupRemovedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void GroupRemovedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.GroupRemovedArgs args = new Evolution.GroupRemovedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = GLib.Object.GetObject(arg1) as Evolution.SourceGroup;
+				Evolution.GroupRemovedHandler handler = (Evolution.GroupRemovedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void GroupRemovedVMDelegate (IntPtr source_list, IntPtr group);
+
+		static GroupRemovedVMDelegate GroupRemovedVMCallback;
+
+		static void groupremoved_cb (IntPtr source_list, IntPtr group)
+		{
+			try {
+				SourceList source_list_managed = GLib.Object.GetObject (source_list, false) as SourceList;
+				source_list_managed.OnGroupRemoved (GLib.Object.GetObject(group) as Evolution.SourceGroup);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideGroupRemoved (GLib.GType gtype)
+		{
+			if (GroupRemovedVMCallback == null)
+				GroupRemovedVMCallback = new GroupRemovedVMDelegate (groupremoved_cb);
+			OverrideVirtualMethod (gtype, "group_removed", GroupRemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.SourceList), ConnectionMethod="OverrideGroupRemoved")]
+		protected virtual void OnGroupRemoved (Evolution.SourceGroup group)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (group);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("group_removed")]
+		public event Evolution.GroupRemovedHandler GroupRemoved {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "group_removed", new GroupRemovedSignalDelegate(GroupRemovedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "group_removed", new GroupRemovedSignalDelegate(GroupRemovedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void GroupAddedSignalDelegate (IntPtr arg0, IntPtr arg1, IntPtr gch);
+
+		static void GroupAddedSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
+		{
+			Evolution.GroupAddedArgs args = new Evolution.GroupAddedArgs ();
+			try {
+				GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
+				if (sig == null)
+					throw new Exception("Unknown signal GC handle received " + gch);
+
+				args.Args = new object[1];
+				args.Args[0] = GLib.Object.GetObject(arg1) as Evolution.SourceGroup;
+				Evolution.GroupAddedHandler handler = (Evolution.GroupAddedHandler) sig.Handler;
+				handler (GLib.Object.GetObject (arg0), args);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void GroupAddedVMDelegate (IntPtr source_list, IntPtr group);
+
+		static GroupAddedVMDelegate GroupAddedVMCallback;
+
+		static void groupadded_cb (IntPtr source_list, IntPtr group)
+		{
+			try {
+				SourceList source_list_managed = GLib.Object.GetObject (source_list, false) as SourceList;
+				source_list_managed.OnGroupAdded (GLib.Object.GetObject(group) as Evolution.SourceGroup);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideGroupAdded (GLib.GType gtype)
+		{
+			if (GroupAddedVMCallback == null)
+				GroupAddedVMCallback = new GroupAddedVMDelegate (groupadded_cb);
+			OverrideVirtualMethod (gtype, "group_added", GroupAddedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(Evolution.SourceList), ConnectionMethod="OverrideGroupAdded")]
+		protected virtual void OnGroupAdded (Evolution.SourceGroup group)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (group);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("group_added")]
+		public event Evolution.GroupAddedHandler GroupAdded {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "group_added", new GroupAddedSignalDelegate(GroupAddedSignalCallback));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "group_added", new GroupAddedSignalDelegate(GroupAddedSignalCallback));
+				sig.RemoveDelegate (value);
+			}
+		}

Added: branches/0_18/evolution/src/SignalHandlers.cs
==============================================================================
--- (empty file)
+++ branches/0_18/evolution/src/SignalHandlers.cs	Fri Nov  7 11:36:50 2008
@@ -0,0 +1,231 @@
+namespace Evolution {
+
+	using System;
+
+	public delegate void WritableStatusHandler(object o, WritableStatusArgs args);
+
+	public class WritableStatusArgs : GLib.SignalArgs {
+		public bool Writable{
+			get {
+				return (bool) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ViewProgressHandler(object o, ViewProgressArgs args);
+
+	public class ViewProgressArgs : GLib.SignalArgs {
+		public string Message{
+			get {
+				return (string) Args[0];
+			}
+		}
+
+		public int Percent{
+			get {
+				return (int) Args[1];
+			}
+		}
+
+	}
+
+	public delegate void ViewDoneHandler(object o, ViewDoneArgs args);
+
+	public class ViewDoneArgs : GLib.SignalArgs {
+		public Evolution.CalendarStatus Status{
+			get {
+				return (Evolution.CalendarStatus) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void StatusMessageHandler(object o, StatusMessageArgs args);
+
+	public class StatusMessageArgs : GLib.SignalArgs {
+		public string Message{
+			get {
+				return (string) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void SourceAddedHandler(object o, SourceAddedArgs args);
+
+	public class SourceAddedArgs : GLib.SignalArgs {
+		public Evolution.Source Source{
+			get {
+				return (Evolution.Source) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void SourceRemovedHandler(object o, SourceRemovedArgs args);
+
+	public class SourceRemovedArgs : GLib.SignalArgs {
+		public Evolution.Source Source{
+			get {
+				return (Evolution.Source) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void SequenceCompleteHandler(object o, SequenceCompleteArgs args);
+
+	public class SequenceCompleteArgs : GLib.SignalArgs {
+		public Evolution.BookViewStatus Status{
+			get {
+				return (Evolution.BookViewStatus) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void RemovedHandler(object o, RemovedArgs args);
+
+	public class RemovedArgs : GLib.SignalArgs {
+		public int Status{
+			get {
+				return (int) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void OpenedHandler(object o, OpenedArgs args);
+
+	public class OpenedArgs : GLib.SignalArgs {
+		public int Status{
+			get {
+				return (int) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ObjectsAddedHandler(object o, ObjectsAddedArgs args);
+
+	public class ObjectsAddedArgs : GLib.SignalArgs {
+		public GLib.List Objects{
+			get {
+				return (GLib.List) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ObjectsRemovedHandler(object o, ObjectsRemovedArgs args);
+
+	public class ObjectsRemovedArgs : GLib.SignalArgs {
+		public GLib.List Uids{
+			get {
+				return (GLib.List) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ObjectsModifiedHandler(object o, ObjectsModifiedArgs args);
+
+	public class ObjectsModifiedArgs : GLib.SignalArgs {
+		public GLib.List Objects{
+			get {
+				return (GLib.List) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void GroupRemovedHandler(object o, GroupRemovedArgs args);
+
+	public class GroupRemovedArgs : GLib.SignalArgs {
+		public Evolution.SourceGroup Group{
+			get {
+				return (Evolution.SourceGroup) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void GroupAddedHandler(object o, GroupAddedArgs args);
+
+	public class GroupAddedArgs : GLib.SignalArgs {
+		public Evolution.SourceGroup Group{
+			get {
+				return (Evolution.SourceGroup) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ContactsAddedHandler(object o, ContactsAddedArgs args);
+
+	public class ContactsAddedArgs : GLib.SignalArgs {
+		public GLib.List Contacts{
+			get {
+				return (GLib.List) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ContactsRemovedHandler(object o, ContactsRemovedArgs args);
+
+	public class ContactsRemovedArgs : GLib.SignalArgs {
+		public GLib.List Ids{
+			get {
+				return (GLib.List) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ContactsChangedHandler(object o, ContactsChangedArgs args);
+
+	public class ContactsChangedArgs : GLib.SignalArgs {
+		public GLib.List Contacts{
+			get {
+				return (GLib.List) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void ConnectionStatusHandler(object o, ConnectionStatusArgs args);
+
+	public class ConnectionStatusArgs : GLib.SignalArgs {
+		public bool Connected{
+			get {
+				return (bool) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void CalOpenedHandler(object o, CalOpenedArgs args);
+
+	public class CalOpenedArgs : GLib.SignalArgs {
+		public Evolution.CalendarStatus Status{
+			get {
+				return (Evolution.CalendarStatus) Args[0];
+			}
+		}
+
+	}
+
+	public delegate void BackendErrorHandler(object o, BackendErrorArgs args);
+
+	public class BackendErrorArgs : GLib.SignalArgs {
+		public string Message{
+			get {
+				return (string) Args[0];
+			}
+		}
+
+	}
+
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]