Re: Testing



On Wed, 08 Dec 1999 16:54:52 PST, brian moseley wrote:

>On Wed, 8 Dec 1999, Russell Steinthal wrote:
>
>> So I'm with Miguel and Bertrand on this one: let Camel
>> handle messaging, libversit and libical handle
>> calendaring, and simply make sure that gnomecal contains
>> the requisite interfaces to allow any calendar provider
>> (such as the libical-based parser I'm writing or
>> gnomecal's current libversit-based parser) to access
>> gnomecal's central storage abstraction.
>
>which storage abstraction is that?
>calendar_load_from_file()? not much of an abstraction.
>
>a storage abstraction is what im shooting for. one with
>pluggable implementations. which is exactly what camel
>does. you're all getting caught up in the fact that camel
>and javamail and all the other apis that look just like this
>one got built for mail first. that doesnt mean their
>responsibilities cant be expanded.

The storage mechanism I'm talking about is the internal Calendar 
object, which contains hash tables/lists of events, todos, journals, 
etc, represented as iCalObject's  It's not particularly complex, but 
(1) it does the job and (2) changing it will undoubtably require 
rewriting most of the existing gnomecal code.

All the interface which is required, IMHO, is:

calendar_add_object (Calendar*,iCalObject*);
calendar_remove_object (Calendar*,iCalObject*);
calendar_update_object (Calendar*,iCalObject*);

or something substantially similar.  If we decide to adopt the 
multiple calendar paradigm, there would also be:

gnomecal_add_calendar (GnomeCalendar*, Calendar*);
gnomecal_remove_calendar (GnomeCalendar*, Calendar*);

but as I said in my earlier message, that may require touching too 
much code to be worth the effort.

I admit, I haven't looked particularly closely at the camel API, but 
it seems to me that the API I outlined above is reasonably 
sufficient- it just means that each calendar format needs to have a 
server, either internal to gnomecal or possibly connected via a CORBA 
interface.  That "server" is responsible for dealing with disk files, 
file formats, etc.: if it can create iCalObject's, it can interface 
with gnomecal.

-Russell

-- 
Russell Steinthal		Columbia Law School, Class of 2002
<rms39@columbia.edu>		Columbia College, Class of 1999
<steintr@nj.org>		UNIX System Administrator, nj.org




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