Commit Graph

12 Commits

Author SHA1 Message Date
580d885820 Make camel not leak like a sieve.
* camel-object.c: New subclass of GtkObject which is now the base
	of the Camel object hierarchy. Currently the only difference
	between CamelObject and GtkObject is that CamelObjects don't start
	out floating.

	* *.h: Move a bunch of typedefs to camel-types.h. Standardize on
	using <camel/foo.h> in header files rather than <foo.h>, "foo.h",
	or "camel/foo.h". Remove some unneeded includes.

	* camel-address.c, camel-data-wrapper.c, camel-folder-search.c,
	camel-folder-summary.c, camel-folder.c, camel-mime-filter.c,
	camel-mime-parser.c, camel-service.c, camel-session.c,
	camel-stream.c: These are now subclasses of CamelObject.

	* camel-data-wrapper.c (set_output_stream):
	* camel-medium.c (set_content_object):
	* camel-seekable-substream.c
	(init_with_seekable_stream_and_bounds):
	* providers/mbox/camel-mbox-folder.c (mbox_get_message_by_uid):
	remove gtk_object_sink calls.

	* camel-stream-buffer.c (init_vbuf):
	* camel-stream-filter.c (camel_stream_filter_new_with_stream):
	ref the original stream.

	* camel-folder-summary.c (camel_folder_summary_finalise): unref
	the filters when finalizing.

	* camel-mime-part-utils.c
	(simple_data_wrapper_construct_from_parser,
	camel_mime_part_construct_content_from_parser):
	* camel-mime-part.c (camel_mime_part_set_content): Unref objects
	that are created only to be handed off to other objects. If
	they're going to be needed later, they will have been additionally
	ref'ed by the object that needs them.

	* providers/pop3/camel-pop3-folder.c (get_message_by_number):
	unref the message stream after creating the data from it.

	* camel-stream.c, camel-stream-buffer.c, camel-stream-filter.c,
	camel-stream-fs.c, camel-stream-mem.c: Remove camel_stream_close,
	since its semantics are dubious (what happens when you close a
	stream other people still have references on?).

	* providers/nntp/camel-nntp-store.c:
	* providers/smtp/camel-smtp-transport.c:
	* providers/pop3/camel-pop3-store.c:
	replace camel_stream_close calls with gtk_object_unref.

	* providers/mbox/camel-mbox-folder.c:
	* providers/nntp/camel-nntp-folder.c:
	* providers/sendmail/camel-sendmail-transport.c:
	replace camel_stream_close with camel_stream_flush +
	gtk_object_unref

svn path=/trunk/; revision=2882
2000-05-07 21:56:32 +00:00
1e7ab47d26 fix the name of "Helix Code, Inc." in all the copyrights
svn path=/trunk/; revision=2091
2000-03-09 19:52:48 +00:00
316a4c47ff Updated my e-mail address to reflect my new employment
svn path=/trunk/; revision=1533
2000-01-03 23:05:55 +00:00
331335d12c Fix copyright informations once again
svn path=/trunk/; revision=1489
1999-12-14 22:40:38 +00:00
8fe1aa5f41 Copyright change
svn path=/trunk/; revision=1348
1999-10-23 15:19:51 +00:00
bf9f54f961 A lot of changes. The thread proxy mechanism
is now functional. The signal proxy needs to be tested
though. The thread proxy folder is being implemented.
A rough summary :

1999-10-13  bertrand <Bertrand.Guiheneuf@aful.org>

	* camel/camel-folder.c (camel_folder_close): the
	folder->close method is now asynchronous.

	* camel/camel-folder-pt-proxy.c (_folder_open_cb):
	(_open):
	(_folder_open_cb):
	(_open):
	open/close method implemented in the thread proxy
	folder. More to come.

	* camel/camel-exception.c (camel_exception_xfer):
	new utility func.

	* camel/camel-marshal-utils.c: some new marshallers

	* camel/camel-folder-pt-proxy.c: Some explanations
	on the thread proxy system.

1999-10-11  bertrand <Bertrand.Guiheneuf@aful.org>

	* camel/camel-marshal-utils.c:
	camel/camel-marshal-utils.h:
	Handles operation marshalling.

	* camel/camel-thread-proxy.c:
	camel/camel-thread-proxy.h:
	new files. Generic proxy system.

	* camel/camel-folder-pt-proxy.c
	moved all proxy related code in dedicated files.

	(camel_folder_pt_proxy_init):
	removed proxy initialisation code
	(_finalize):
	removed proxy finalization code


	* camel/camel-exception.c
	(camel_exception_new):
	(camel_exception_set):
	(camel_exception_free):
	New funcs.

svn path=/trunk/; revision=1328
1999-10-13 21:16:55 +00:00
f1d9513767 weekly commit
svn path=/trunk/; revision=1322
1999-10-08 19:21:51 +00:00
10ec882bf1 redesign of the proxy/marshaling code. Uses GtkArg now. sync commit.
* redesign of the proxy/marshaling code. Uses GtkArg now.
* sync commit. Evolution does not build at all now.

svn path=/trunk/; revision=1260
1999-09-27 18:05:43 +00:00
b2c5bf685a synczZzZ
svn path=/trunk/; revision=1238
1999-09-18 00:03:48 +00:00
445b09502f new func. Try to exec an operation in a thread or queue it if a thread is
1999-09-18  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/camel-folder-pt-proxy.c (_op_exec_or_plan_for_exec):
	new func. Try to exec an operation in a thread
	or queue it if a thread is already busy.

	* camel/camel-op-queue.c (camel_op_queue_set_service_availability):
	(camel_op_queue_get_service_availability):
	new funcs.

	* camel/camel-op-queue.c (camel_op_new):
	(camel_op_free):
	new funcs. Uses glib mem chunks.

svn path=/trunk/; revision=1237
1999-09-17 23:40:06 +00:00
acd6bafa58 added notify io_channel. new func. run the next operation.
1999-09-17  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/camel-folder-pt-proxy.c (_init_with_store):
	added notify io_channel.
	* (camel_op_queue_run_next_op): new func.
	run the next operation.

svn path=/trunk/; revision=1236
1999-09-17 20:34:22 +00:00
63039bb99e New object. Operation queue. Meant to be used in non-blocking proxy
1999-09-17  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/camel-op-queue.h:
	* camel/camel-op-queue.c:
	New object. Operation queue. Meant to be used in
	non-blocking proxy objects.

svn path=/trunk/; revision=1231
1999-09-16 22:26:03 +00:00