1. 10 Aug, 2000 1 commit
  2. 19 May, 2000 1 commit
    • NotZed's avatar
      > searchpart = strchr(namepart, '?'); · 2ce4eb74
      NotZed authored
      2000-05-19  NotZed  <NotZed@HelixCode.com>
      
              * camel-simple-data-wrapper.c (construct_from_stream): If we
              already have been constructed, unref our content.
              (write_to_stream): Check we've been constructued, and change for
              stream api changes.
      
              * camel-mime-parser.c: Removed exception stuff.
      
              * md5-utils.c (md5_get_digest_from_stream): repaired.
      
              * camel-mime-message.c: Remove exception from write_to_stream, and
              fix, and fix formatting.
      
              * providers/sendmail/camel-sendmail-transport.c (_send_internal):
              Fix for stream changes.
      
              * providers/pop3/camel-pop3-store.c (camel_pop3_command): Fixes
              for stream changes.
      
              * providers/mbox/camel-mbox-folder.c, and elsewhere, fix all
              stream api changes.
              (mbox_append_message): Use stream_close() now its back.
              (mbox_append_message): unref the from filter.
      
              * camel-stream-mem.c: And here.
      
              * camel-stream-fs.[ch]: Here too.
      
              * camel-stream-filter.c: Likewise.  This is getting tedious.
      
              * camel-stream-buffer.c (stream_write): Fix a few little problems.
              (stream_close): Reimplmeent.
              (camel_stream_buffer_read_line): Slightly more efficient version,
              that also only allocates the right amount of memory for strings.
      
              * camel-seekable-substream.c: Likewise.
      
              * camel-seekable-stream.[ch]: Remove exceptions, fix formatting,
              changes for stream (re)fixes.  set_bounds returns an error.
      
              * camel-stream.[ch]: Remove exceptions.  Make flush and reset return
              an error code, repair all the screwed up formatting, and put back
              close.
      
              * camel-mime-part-utils.c
              (camel_mime_part_construct_content_from_parser): And here.
      
              * camel-mime-part.c (camel_mime_part_set_content): And this too.
              (write_to_stream): Fixed for stream changes.
      
              * camel.h: Fixed.
      
              * providers/vee/camel-vee-folder.c (vee_search_by_expression):
              Implement.  Performs an intersection of the two searches.
              (camel_vee_folder_finalise): Unref search folders.
              (vee_append_message): Implement append.
      
      svn path=/trunk/; revision=3142
      2ce4eb74
  3. 08 May, 2000 1 commit
    • Dan Winship's avatar
      Use CamelException to signal failure. (camel_stream_write_strings): · 65ec43cb
      Dan Winship authored
      	* camel-stream.c (camel_stream_read, camel_stream_write,
      	camel_stream_flush, camel_stream_reset, camel_stream_printf,
      	camel_stream_write_to_stream): Use CamelException to signal
      	failure.
      	(camel_stream_write_strings): Remove. camel_stream_printf is more
      	useful in most of the places that used this.
      	(camel_stream_write_string): Change from macro to function to
      	prevent problems with double-evaluation.
      
      	* camel-seekable-stream.c (camel_seekable_stream_seek,
      	camel_seekable_stream_set_bounds): Use CamelException.
      	(reset): Update.
      
      	* camel-seekable-substream.c, camel-stream-buffer.c,
      	camel-stream-filter.c, camel-stream-fs.c, camel-stream-mem.c:
      	Update.
      
      	* camel-stream-fs.c: Remove the virtual init functions and move
      	the code into the creator functions. Add CamelExceptions to
      	creation functions that could fail.
      
      	* camel-data-wrapper.c (camel_data_wrapper_write_to_stream): Use
      	CamelException.
      	* camel-mime-message.c, camel-mime-part.c, camel-multipart.c
      	(write_to_stream): Update.
      
      	* camel-mime-parser.c: add an exception to the mime parser private
      	data and pass that to stream functions as needed.
      
      	* gmime-content-field.c, md5-utils.c: Update (badly) for stream
      	changes.
      
      	* camel-exception.h (camel_exception_is_set): convenience macro.
      
      	* providers/Makefile.am: disable SMTP for now
      
      	* providers/mbox/camel-mbox-folder.c (mbox_append_message): Pass
      	CamelException to the functions that now need it. Check the
      	exception after calling camel_stream_flush, and fail if it fails.
      	(mbox_get_message_by_uid): More updates.
      
      	* providers/pop/camel-pop3-folder.c,
      	providers/pop/camel-pop3-store.c,
      	providers/sendmail/camel-sendmail/transport.c: Update.
      
      svn path=/trunk/; revision=2924
      65ec43cb
  4. 29 Apr, 2000 1 commit
    • Dan Winship's avatar
      camel_mime_parser_tell() returns an offset from where it started parsing, · 18903e6b
      Dan Winship authored
      	* camel-mime-part-utils.c
      	(simple_data_wrapper_construct_from_parser):
      	camel_mime_parser_tell() returns an offset from where it started
      	parsing, not necessarily from the start of data. Since we're
      	parsing a bounded seekable_stream, we need to add the stream's
      	starting bound to camel_mime_parser_tell's return value to
      	create the substream in the right place.
      
      	* camel-seekable-substream.c
      	(camel_seekable_substream_new_with_seekable_stream_and_bounds):
      	say CAMEL_STREAM_UNBOUND rather than -1 in doc.
      
      	* camel-seekable-stream.c (camel_seekable_stream_seek): Add more
      	info to docs.
      
      svn path=/trunk/; revision=2680
      18903e6b
  5. 26 Apr, 2000 1 commit
    • NotZed's avatar
      Big cleanup of camel-stream-*, got rid of 3 classes, improved the interfaces, · c93a2e37
      NotZed authored
      and fixed at least one problem (end of stream never happening in certain
      cases).  Things that can fail now have a way of saying they failed too.
      
      So much for taking ANZAC day off to get drunk!
      
      2000-04-26  NotZed  <NotZed@HelixCode.com>
      
      	* camel-seekable-substream.c (stream_seek): Changed to have
      	absolute seek semantics, not relative to the bounds.
      
      	* camel-seekable-stream.c (reset): When we reset, seek to the
      	start of the bound, if there is one.
      	(stream_tell): Make tell virtual.
      
      	* camel-stream-filter.c (do_available): Removed.
      
      	* camel-stream-buffer.c: Remove leading _'s from static functions.
      	(stream_read): Renamed from read().  Fancy that conflicting!  (my
      	boo!)  Others too.
      
      	* providers/pop3/camel-pop3-folder.c (get_message_by_number):
      	Changed to stream_mem interface.
      
      	* providers/mbox/camel-mbox-folder.c (_get_message_by_uid): Fixed
      	for streamfs interface changes, and implement a failure case.
      	(_append_message): Changed for fs stream interface change.
      
      	* camel-multipart.c (print_part): Iterate rahter than callback.  I
      	hate glists's interface (hence, move this to write_to_stream).
      	(write_to_stream): Return an error (yuck, this is a royal PITA to
      	do with the stream write interface).
      
      	* camel-mime-message.c: Removed leading _ from static names.
      
      	* camel-mime-part.h: construct_from_parser() now returns an error
      	code.
      
      	* camel-mime-part-utils.c
      	(camel_mime_part_construct_content_from_parser): Changed to use a
      	camel-data-wrapper instead of a camel-simple-data-wrapper (no
      	change needed elsewhere?).
      	(simple_data_wrapper_construct_from_parser): Fixes for stream-mem
      	interface changes.
      
      	* camel-simple-data-wrapper.[ch],
      	camel-simple-data-wrapper-stream.[ch],
      	camel-stream-data-wrapper.[ch], removed.  Fixed including of these
      	files.
      
      	* camel-mime-part.c (camel_mime_part_set_text): Remove the use of
      	the camel-simple-data-wrapper-stream, just use a mem stream.
      	(write_to_stream): Renamed from my_*
      	(construct_from_stream): Return an error on error.
      
      	* camel-stream-mem.c (camel_stream_mem_new*): Remove mode
      	parameter.
      
      	* camel-stream-mem.h (enum CamelStreamMemMode): Removed.  It
      	wasn't used at all.
      
      	* camel-data-wrapper.h: Add camel_data_wrapper_new() to create
      	these.
      	(write_to_stream, construct_from_stream): Return an error
      	indicator for success.  Fixed all methods to match (ICK).
      
      	* Makefile.am (libcamel_la_SOURCES): Remove
      	camel-simple-data-wrapper.c, camel-simple-data-wrapper-stream.c,
      	camel-stream-data-wrapper.c.  Obsoleted by code re-use!
      
      	* camel-data-wrapper.c (construct_from_stream): Change the default
      	implementation to just set the output stream == construction
      	stream.  Well, this lets me get rid of both simple-data-wrapper
      	and stream-data-wrapper (unused anyway), and
      	simple-data-wrapper-stream in one hit.  CamelDataWrapper is now
      	also a concrete class.
      	(write_to_stream): Use camel_stream_write_to_stream() to
      	calculate/return values (and save code).
      	Include <errno.h> for obvious reasons.
      
      	* camel-stream.c (eos): Provide a default implementation of .eos().
      	(camel_stream_write_to_stream): Make it return an error code on
      	error.
      	(camel_stream_printf): Changed to return the number of bytes
      	written/error.
      	(camel_stream_available): Removed.
      
      	* camel-stream-fs.h (enum CamelStreamFsMode): Removed.  Changed to
      	use unix modes and so forth (wasn't used for anything but new file
      	creation and didn't work well either).
      
      	* camel-stream-fs.c: Removed leading _'s for names.  And removed
      	some virtual method 'documentation'.
      	(destroy): Dont try and close a closed/error fd.  Only report
      	error if close returns -1.  Moved all the code to finalise(), and
      	killed this function.
      	(init_with_fd): Properly setup the seek offset, if it is a
      	valid and seekable file descriptor.
      	(init_with_fd_and_bounds): Use off_t for bounds, set bounds on the
      	seekable stream.
      	(init_with_name): Return error codes.
      	(init_with_name_and_bounds): Ditto.
      	(camel_stream_fs_new_with_name): REturn NULL object if it failed.
      	(camel_stream_fs_new_with_name_and_bounds): Return NULL object on
      	failure.  Changed with_name* api's to take unix open style args
      	and flags.
      	(read): The bounded stream bounds checking seemed off, simplified
      	code a bit.
      	(write): Implement bounds checking for writing, the comment was
      	wrong, it could make sense to bound writing.  Cleaned up a little.
      	(available): Gone.
      	(eos): Removed.  Use CamelStream's implementation now.
      	(close): Reset the fd to -1, provide a warning for bad usage.
      	(seek): Cleaned up.  Changed the behaviour a little, the returned
      	offset is the absolute position in the file, even in bounded
      	streams.
      	(seek): Seek from end mirrors lseek() behaviour (reverse seeking).
      
      2000-04-25  NotZed  <NotZed@HelixCode.com>
      
      	* camel-stream-fs.h (struct _CamelStreamFs): Moved bounds and eof
      	indicator to other parent classes.
      
      	* camel-stream.c (camel_stream_printf): New utility
      	function.  Obvious use.
      
      	* camel-stream-mem.c: Removed leading _'s from static func's.
      	(camel_stream_mem_new_with_byte_array): Fixed for api changes, set
      	the owner for the byte array to us.
      	: Removed A bunch of gtk doc stuff for static (implementation) functions.
      	(available): Removed.
      	(write): Fixed the write implementation so that seek() works on a
      	seekable memory stream, as expected.  Seeking past the end of the
      	buffer has unix semantics (filling with 0).
      	(available): Removed.
      	(write): Implement seekable stream bounded stream.
      	(read): Implement seekable stream bounded stream.
      	(close): Dont free the stream_mem if we're not the owner.
      	(seek): Allow to seek beyond the end of memory area,
      	implement bounds checking.
      	(seek): Set errno on bad policy.
      
      	* camel-stream-mem.h (struct _CamelStreamMem): Changed position to off_t.
      	(new_with_buffer): Changed len to be a size_t.
      	(set_buffer, set_byte_array): New interface functions.
      	(struct _CamelStreamMem): Removed position, it is stored in the
      	superclass.
      
      	* camel-stream.h: Removed some of the seemingly random
      	whitespace.  Removed the available method (its not
      	impelemented/useful enough).
      
      	* camel-seekable-substream.c
      	(init_with_seekable_stream_and_bounds): Remove the data_available
      	stuff, it hasn't been properly implemented/finished, and may never
      	work (unfortunately *sigh).
      	(reemit_parent_signal): Removed part of the above change.
      	(set_bounds): Removed (moved to seekable-stream).
      	: Fixed up some of the generally unreadable indenting (sorry,
      	wrapping at 80 characters with
      	camels_really_long_function_names()
      	just_doesnt_work_very_well_does_it().
      	(available): Removed.
      	(stream_seek): Fixup for object changes.  Make sure we return -1
      	if the parent stream can't seek.
      
      	* camel-seekable-stream.c (ccamel_seekable_stream_set_bounds): New
      	function to bound any seekable stream.
      	: Removed _'s.
      	(camel_seekable_stream_class_init): Implement an init function, to
      	setup the stream bounds to unbound.
      
      	* camel-seekable-stream.h (CamelSeekableStreamClass): New virtual
      	method set_bounds for seekable streams.
      	(CAMEL_STREAM_UNBOUND): New define for no bound.
      
      	* camel-seekable-substream.h (struct _CamelSeekableSubstream):
      	Removed sup_bound and inf_bound, moved to CamelSeekableStream (and
      	renamed, and changed to off_t's).
      	(new_with_seekable_stream_and_bounds): Use off_t as the bounds.
      	(CamelSeekableSubstreamClass): Uh, why was the intialiser virtual?
      	Removed.
      
      	* camel-seekable-stream.[ch] (CamelSeekableStreamClass): Changed seek
      	to accept an off_t as the offset.
      	(struct _CamelSeekableStream): Renamed cur_pos to position and
      	changed it to an off_t type.
      	(enum CamelStreamSeekPolicy): Set to match the SEEK_* constants
      	from lseek().
      	(get_current_position): Renamed to tell().
      
      	* camel-stream-buffer.h: Commented out set_vbuf - never implemented.
      
      svn path=/trunk/; revision=2624
      c93a2e37
  6. 18 Apr, 2000 1 commit
  7. 09 Mar, 2000 1 commit
  8. 17 Feb, 2000 1 commit
    • bertrand's avatar
      use camel_stream_reset instead of seek. The formatter should be able to · 39400a38
      bertrand authored
      
      2000-02-17  bertrand  <Bertrand.Guiheneuf@aful.org>
      
      	* camel/camel-formatter.c (handle_text_plain):
      	(handle_text_html): use camel_stream_reset instead
      	of seek. The formatter should be able to work
      	with all streams, not only seekable streams.
      	In the case where some provider implementation
      	would not be able to provide a reset method
      	to their stream, implementors would have
      	to find a workaround.
      
      	* camel/camel-session.c (camel_session_new): use
      	(void) instean of () in function decl.
      
      	* camel/camel-folder.c: ifdef async operation
      	related code.
      
      	* camel/camel-seekable-stream.c (_seek): added a warning.
      	(_reset): default implementation of reset for seekable
      	stream.
      
      	* camel/camel-mime-message.h: set_received_date declaration fix.
      	cosmetic changes.
      
      	* camel/providers/mbox/camel-mbox-provider.c (camel_provider_module_init):
      	use (void) instead of ().
      
      	* camel/camel-stream.c (camel_stream_reset):
      	new method for CamelStream.
      
      svn path=/trunk/; revision=1835
      39400a38
  9. 14 Feb, 2000 1 commit
    • bertrand's avatar
      make a blocking version of the header parser. When the fs stream uses · fe058b1b
      bertrand authored
      2000-02-14  bertrand  <Bertrand.Guiheneuf@aful.org>
      
      	* camel/gmime-utils.c (get_header_array_from_stream):
      	make a blocking version of the header parser.
      	When the fs stream uses gnome-vfs, this should
      	be changed.
      	(gmime_read_line_from_stream): ditto.
      
      2000-02-11  bertrand  <Bertrand.Guiheneuf@aful.org>
      
      	* camel/camel-stream-fs.c:
      	everywhere, when using the cur_pos field, do it
      	on the CamelSeekableStream object.
      	(_seek): small fix.
      
      	* camel/camel-seekable-stream.c (camel_seekable_stream_seek):
      	s/camel_stream_seek/camel_seekable_stream_seek/g
      
      	* camel/camel-seekable-stream.h:
      	(struct ): added a field to store the
      	current position.
      
      	* camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position):
      	New function. Allows to get the current position
      	of a seekable stream.
      
      
      In fact much more changes, but I am lazy.
      This is the begining of some major changes
      in camel.
      
      svn path=/trunk/; revision=1778
      fe058b1b
  10. 25 Jan, 2000 1 commit
    • bertrand's avatar
      parent class is now CamelSeekableStream idem idem idem idem (_seek): · 50e5c22f
      bertrand authored
      2000-01-24  bertrand  <bertrand@helixcode.com>
      
      	* camel/camel-seekable-stream.c:
      	* camel/camel-seekable-stream.h:
      
      	* camel/camel-simple-data-wrapper-stream.h:  parent class is now
      	CamelSeekableStream
      	* camel/camel-stream-buffered-fs.h: idem
      	* camel/camel-stream-buffered-fs.c: idem
      	* camel/camel-stream-mem.h: idem
      	* camel/camel-stream-mem.c: idem
      	(_seek): change declaration
      	* camel/camel-stream-fs.c: parent class is now
      	CamelSeekableStream
      	(_seek): change declaration
      
      	* camel/camel-stream-fs.h: parent class is now
      	CamelSeekableStream
      
      Major compatible change in the stream hierarchy.
      Removed the seek method from the general streams
      so that we can use them as "DataSources".
      
      svn path=/trunk/; revision=1622
      50e5c22f