#!/usr/local/bin/perl require "readvaluesfile.pl"; use Getopt::Std; getopts('chspi:'); %no_xname = (RELATED=>1,RANGE=>1,RSVP=>1,XLICERRORTYPE=>1,XLICCOMPARETYPE=>1); %params = read_parameters_file($ARGV[0]); # Write the file inline by copying everything before a demarcation # line, and putting the generated data after the demarcation if ($opt_i) { open(IN,$opt_i) || die "Can't open input file $opt_i"; while(){ if (/Do not edit/){ last; } print; } if($opt_p){ print "# Everything below this line is machine generated. Do not edit. \n"; } else { print "/* Everything below this line is machine generated. Do not edit. */\n"; } } # Write parameter string map if ($opt_c){ } # Write parameter enumerations and datatypes if($opt_h){ print "typedef enum icalparameter_kind {\n ICAL_ANY_PARAMETER = 0,\n"; foreach $param (sort keys %params) { next if !$param; next if $param eq 'NO' or $param eq 'ANY'; my $uc = join("",map {uc($_);} split(/-/,$param)); my @enums = @{$params{$param}->{'enums'}}; print " ICAL_${uc}_PARAMETER, \n"; } print " ICAL_NO_PARAMETER\n} icalparameter_kind;\n\n"; # Now create enumerations for parameter values $idx = 20000; print "#define ICALPARAMETER_FIRST_ENUM $idx\n\n"; foreach $param (sort keys %params) { next if !$param; next if $param eq 'NO' or $prop eq 'ANY'; my $type = $params{$param}->{"C"}; my $ucv = join("",map {uc(lc($_));} split(/-/,$param)); my @enums = @{$params{$param}->{'enums'}}; if(@enums){ print "typedef enum $type {\n"; my $first = 1; unshift(@enums,"X"); push(@enums,"NONE"); foreach $e (@enums) { if (!$first){ print ",\n"; } else { $first = 0; } my $uce = join("",map {uc(lc($_));} split(/-/,$e)); print " ICAL_${ucv}_${uce} = $idx"; $idx++; } $c_type =~ s/enum //; print "\n} $type;\n\n"; } } print "#define ICALPARAMETER_LAST_ENUM $idx\n\n"; } if ($opt_c){ # Create the icalparameter_value to icalvalue_kind conversion table print "struct icalparameter_value_kind_map value_kind_map[] = {\n"; foreach $enum (@{$params{'VALUE'}->{'enums'}}){ next if $enum eq 'NO' or $enum eq 'ERROR'; $uc = join("",map {uc(lc($_));} split(/-/,$enum)); print " {ICAL_VALUE_${uc},ICAL_${uc}_VALUE},\n"; } print " {ICAL_VALUE_X,ICAL_X_VALUE},\n"; print " {ICAL_VALUE_NONE,ICAL_NO_VALUE}\n};\n\n"; #Create the parameter Name map print "static struct icalparameter_kind_map parameter_map[] = { \n"; foreach $param (sort keys %params) { next if !$param; next if $param eq 'NO' or $prop eq 'ANY'; my $lc = join("",map {lc($_);} split(/-/,$param)); my $uc = join("",map {uc(lc($_));} split(/-/,$param)); print " {ICAL_${uc}_PARAMETER,\"$param\"},\n"; } print " { ICAL_NO_PARAMETER, \"\"}\n};\n\n"; # Create the parameter value map print "static struct icalparameter_map icalparameter_map[] = {\n"; print "{ICAL_ANY_PARAMETER,0,\"\"},\n"; foreach $param (sort keys %params) { next if !$param; next if $param eq 'NO' or $prop eq 'ANY'; my $type = $params{$param}->{"C"}; my $uc = join("",map {uc(lc($_));} split(/-/,$param)); my @enums = @{$params{$param}->{'enums'}}; if(@enums){ foreach $e (@enums){ my $uce = join("",map {uc(lc($_));} split(/-/,$e)); print " {ICAL_${uc}_PARAMETER,ICAL_${uc}_${uce},\"$e\"},\n"; } } } print " {ICAL_NO_PARAMETER,0,\"\"}};\n\n"; } foreach $param (keys %params){ my $type = $params{$param}->{'C'}; my $ucf = join("",map {ucfirst(lc($_));} split(/-/,$param)); my $lc = lc($ucf); my $uc = uc($lc); my $charorenum; my $set_code; my $pointer_check; my $pointer_check_v; my $xrange; if ($type=~/char/ ) { $charorenum = " icalerror_check_arg_rz( (param!=0), \"param\");\n return ($type)((struct icalparameter_impl*)param)->string;"; $set_code = "((struct icalparameter_impl*)param)->string = icalmemory_strdup(v);"; $pointer_check = "icalerror_check_arg_rz( (v!=0),\"v\");"; $pointer_check_v = "icalerror_check_arg_rv( (v!=0),\"v\");"; } else { $xrange =" if ( ((struct icalparameter_impl*)param)->string != 0){\n return ICAL_${uc}_X;\n }\n" if !exists $no_xname{$uc}; $charorenum= "icalerror_check_arg( (param!=0), \"param\");\n$xrange\nreturn ($type)((struct icalparameter_impl*)param)->data;"; $pointer_check = "icalerror_check_arg_rz(v >= ICAL_${uc}_X,\"v\");\n icalerror_check_arg_rz(v < ICAL_${uc}_NONE,\"v\");"; $pointer_check_v = "icalerror_check_arg_rv(v >= ICAL_${uc}_X,\"v\");\n icalerror_check_arg_rv(v < ICAL_${uc}_NONE,\"v\");"; $set_code = "((struct icalparameter_impl*)param)->data = (int)v;"; } if ($opt_c) { print <[0] = \$p; return \$self; } sub get { my \$self = shift; my \$impl = \$self->_impl(); return Net::ICal::icalparameter_as_ical_string(\$impl); } sub set { # This is hard to implement, so I've punted for now. die "Set is not implemented"; } EOM } } if ($opt_h){ print <Gediminas Paulauskas2000-11-307-12/+7 * Update pilot infoJP Rosevear2000-11-302-6/+7 * Updated the gtk-doc comment.Jeffrey Stedfast2000-11-302-4/+7 * Use camel a bit more to help us out. Don't create the file ourselves,Jeffrey Stedfast2000-11-302-15/+40 * Remove no-longer-needed e_unicode_init.Dan Winship2000-11-302-2/+2 * Remove no-longer-needed e_unicode_init.Dan Winship2000-11-302-2/+4 * Use iconv instead of unicode_iconv.Dan Winship2000-11-303-27/+31 * Bump required gal version to 0.2.99.3 for iconv changesDan Winship2000-11-302-3/+8 * Move away from unicode_iconv*. We still need libunicode for utf8Dan Winship2000-11-301-25/+9 * Fix some off-by-one-ness.Dan Winship2000-11-303-4/+12 * Fix the allocation here (again) and put a comment explaining it. (Fixes aDan Winship2000-11-302-1/+14 * added some <glossterms>, added linkends to existing glossterms.Aaron Weber2000-11-3020-214/+684 * Added an id for the API reference <part>. Added the FDL <legalnotice>.Federico Mena Quintero2000-11-3022-174/+1926 * Added a copy of the GNU Free Documentation License.Federico Mena Quintero2000-11-303-0/+363 * Upgrade of the alarm framework. We now access alarms by a uniqueFederico Mena Quintero2000-11-303-37/+240 * Builddir != srcdir loving.Ettore Perazzoli2000-11-293-1/+8 * Add a missed unref.Not Zed2000-11-2924-119/+326 * Plug a memleak, need to free results from term_eval(). (term_eval_gt):Not Zed2000-11-293-0/+28 * ShushJP Rosevear2000-11-297-4/+37 * Return a struct rather than a pointer to a struct (compare):JP Rosevear2000-11-295-111/+65 * Reformatted the table spec to make it easier to read.Federico Mena Quintero2000-11-294-32/+74 * finished 12-hour support and tried to tidy up & comment the drawing codeDamon Chaplin2000-11-299-358/+719 * Updated Spanish translationHector Garcia2000-11-292-652/+631 * Wait until after setting up the local storage to find theDan Winship2000-11-293-11/+16 * Add USE_FLOCK, USE_FCNTL, USE_FLOCKJP Rosevear2000-11-295-6/+43 * Don't set exception to g_strerror (errno) when nread == 0, because itDan Winship2000-11-292-1/+6 * Removed debugging shizz.Jesse Pavel2000-11-292-12/+5 * Added Save As...Jeffrey Stedfast2000-11-292-0/+8 * Added the SaveAs bonobo menu verb thingy.Jeffrey Stedfast2000-11-296-38/+94 * Don't try to free things if they haven't been set yet.Dan Winship2000-11-292-2/+9 * Fix the initial unread counts after the last patch.Dan Winship2000-11-292-1/+9 * send NULL so we don't have to clear the exceptionJeffrey Stedfast2000-11-291-2/+1 * Clear the exception if EHLO fails before trying HELO in the cases whereJeffrey Stedfast2000-11-292-0/+8 * Updated russian translation.Valek Frob2000-11-282-647/+361 * Set the info size's properly, oops!Not Zed2000-11-2823-55/+1184 * Added camel/tests/folder/MakefileNot Zed2000-11-282-0/+5 * Turn off index stats by default.Not Zed2000-11-285-17/+31 * add scan = scan->next; to avoid infinite loopRadek Doulik2000-11-282-0/+7 * Translations from keldKenneth Christiansen2000-11-281-662/+599 * Make this gratuitously more complicated. No wait, I mean, fix bugs. NowDan Winship2000-11-283-52/+105 * This needs to run from the main thread, not the camel thread, so add aDan Winship2000-11-282-5/+22 * *gui/calendar-model.c: added a preliminary change to have AssignedJesse Pavel2000-11-282-3/+18 * Moved the regex filter rule around - we've changed the format a bit.Jeffrey Stedfast2000-11-2811-107/+143 * Update - hopefully I assigned blame correctly :-)JP Rosevear2000-11-285-1/+26 * Correct the bonobo version error messageJP Rosevear2000-11-283-19/+39 * Removed some unecessary debugging printf'sJeffrey Stedfast2000-11-282-2/+4 * Remove "complete" fieldJP Rosevear2000-11-2810-88/+134 * de-register a component's UI if it dies.Michael Meeks2000-11-282-0/+10 * Revert the new druid for now, until the corresponding code is done, soDan Winship2000-11-283-2842/+53 * Removed mh, mbox, added local, to the default.Not Zed2000-11-272-2/+9 * If we have the namecache active, and there is no name there, we add itNot Zed2000-11-274-5/+278 * == instead of =.Damon Chaplin2000-11-272-1/+5 * added more support for config settings.Damon Chaplin2000-11-2710-199/+892 * use a gint for day rather than a guint since we now support -ve days. AlsoDamon Chaplin2000-11-272-56/+128 * use config settings.Damon Chaplin2000-11-272-18/+11 * updated to emit "changed" when appropriate, which turned out to beDamon Chaplin2000-11-275-465/+1185 * Updated Dutch translation.Almer S. Tigelaar2000-11-262-369/+335 * Updated italian translation from Clara Tattoni <clara.tattoni@libero.it>Christopher R. Gabriel2000-11-262-2087/+2275 * Removed e_table_col_get_arrow and e_table_col_set_arrow.Christopher James Lahey2000-11-262-28/+0 * Install Evolution IDL's into datadir/idl.Peter Williams2000-11-262-0/+10 * Plug leaks of the fullname and fulldefaultname.Federico Mena Quintero2000-11-255-33/+57 * Make the behavior of the toolbars for the message composer and theEttore Perazzoli2000-11-253-2/+8 * Documented.Miguel de Icaza2000-11-256-29/+212 * inline documentation added.Miguel de Icaza2000-11-253-152/+430 * Unref the ETable extras.Federico Mena Quintero2000-11-252-0/+7 * Plug leak; mark the CORBA sequence so that it will be released.Federico Mena Quintero2000-11-252-0/+7 * DOH, fixed reversed test for the presence of the icalcomp's parent. ThisFederico Mena Quintero2000-11-253-1/+10 * Use the new libical external iterators (icalcomponent_begin_component()Federico Mena Quintero2000-11-2511-1377/+45 * Updated Swedish translation.Christian Rose2000-11-252-318/+283 * little util to scan mailboxes for any and every address they contain.Michael Zucci2000-11-247-66/+243 * Added at least some explanation of all this stuff.Not Zed2000-11-244-12/+77 * Add tests.Not Zed2000-11-2421-16/+1264 * Added camel/tests stuff to output macro.Not Zed2000-11-242-1/+13 * Set view.change_context to NULL in pas_backend_file_process_get_book_view.Christopher James Lahey2000-11-233-4/+15 * Fixed typo preventing compilation - NAME_ERROR should be LDAP_NAME_ERROR (I t...Ross Golder2000-11-231-1/+1 * Save the children - FedericoFederico Mena Quintero2000-11-234-11/+19 * check for return valuesRadek Doulik2000-11-222-3/+10 * debug printfRadek Doulik2000-11-221-0/+3 * Fixed some typos to get the table to display properly.Christopher James Lahey2000-11-222-3/+3 * Patch from Eric Busboom <eric@softwarestudio.org> to fix BYDAY elements inFederico Mena Quintero2000-11-222-21/+27 * Squeek - FedericoFederico Mena Quintero2000-11-221-1/+2 * Remove the check because it makes it look like the task is alreadyFederico Mena Quintero2000-11-226-55/+101 * New function, set a reference to a string that is then owned/free'd by theNot Zed2000-11-223-18/+64 * Big patch. Evolution-services rewrite, services updated for new system,Iain Holmes2000-11-2249-1070/+2797 * Removed gncal-todo.c.Federico Mena Quintero2000-11-222-1/+4 * add GPGME_CFLAGS and GPGME_LIBSDan Winship2000-11-222-3/+9 * Check for libgpgme. (Support not added to mail yet.)Dan Winship2000-11-223-16/+32 * Moved ViewSource to the View menu and made it a toggle menu.Jeffrey Stedfast2000-11-222-4/+10 * New function to return if user wants to view message source.Jeffrey Stedfast2000-11-2213-163/+136 * add #ifdef HAVE_ALLOCA_HDan Winship2000-11-223-0/+9 * sync - FedericoFederico Mena Quintero2000-11-221-1/+0 * Removed the default_user/local/Tasks/Makefile until the relevant files areFederico Mena Quintero2000-11-221-0/+6 * The icon column is not editable!Federico Mena Quintero2000-11-2210-1323/+22 * Fixed size allocation bug.Jesse Pavel2000-11-223-54/+21 * Removed mail/message-thread.c and added camel/camel-folder-thread.cJeffrey Stedfast2000-11-222-1/+6 * took out some no longer needed printfs.Jeffrey Stedfast2000-11-222-2/+5 * If we dont get a big enough chunk in the first node, give up. Otherwise weNot Zed2000-11-212-9/+17 * New function to strdup into a mempool.Not Zed2000-11-213-0/+12 * IF we dont find a source, clear the exception and ignore it silently. forNot Zed2000-11-213-14/+50 * Shite, -1 on error, >=0 on success. So i've just been truncating all theNot Zed2000-11-2111-95/+462 * #include <gtkhtml/gtkhtml-embedded.h>Radek Doulik2000-11-212-0/+5 * use html_engine_is_selection_active added some includesRadek Doulik2000-11-212-1/+9 * Removed. No longer serves a purpose.Not Zed2000-11-215-794/+25 * New function to allocate a zero'd out chunk.Not Zed2000-11-213-0/+16 * Added camel-folder-thread.[ch].Not Zed2000-11-214-0/+645 * fix changelog merge conflictsJeffrey Stedfast2000-11-211-1/+0 * Fixed to return the correct bytecount in all cases which is the real fixJeffrey Stedfast2000-11-214-24/+32 * Fix IMAP get-mail to work; CORBA calls in the dispatch thread are a no-no.Peter Williams2000-11-212-13/+62 * New routines for fast memory management and compact string array storage.Not Zed2000-11-214-0/+902 * Fixes for the summary messageid changes. Hash the messageid and store it.Not Zed2000-11-2114-407/+1038 * Save out the md5 hash of the messageid as hex, since thats all we have forNot Zed2000-11-213-43/+64 * New comparison function that will replace address_compare if/when we everJeffrey Stedfast2000-11-211-0/+1 * New comparison function that will replace address_compare if/when we everJeffrey Stedfast2000-11-212-69/+110 * Updated Spanish translationHector Garcia2000-11-212-56/+79 * Updated Dutch translation.Almer S. Tigelaar2000-11-202-2216/+2622 * Translations from keldKenneth Christiansen2000-11-191-189/+234 * Add widgets/menus/libmenus.la to evolution_addressbook_LDADD so that itMatt Bissiri2000-11-192-1/+9 * AdaptMiguel de Icaza2000-11-181-3/+3 * Add Makefile.am and .cvsignoreMiguel de Icaza2000-11-182-0/+19 * Added widgets/menus that contains the gal-view-menus.c code from Gal thatMiguel de Icaza2000-11-184-2/+14 * Removed test for Bonobo here.Miguel de Icaza2000-11-181-1/+0 * Updated Swedish translation.Christian Rose2000-11-182-35/+48 * Use the new quote_message function and make it start with "On %s, %sJeffrey Stedfast2000-11-185-105/+123 * Updated Spanish translationHector Garcia2000-11-172-1171/+985 * Updated Swedish translation.Christian Rose2000-11-172-160/+192 * Updated russian translation.Valek Frob2000-11-172-149/+183 * lso make sure not to go past the end of the buffer ;-)Jeffrey Stedfast2000-11-171-1/+1 * When extracting a literal string, capture up until the end of the lastJeffrey Stedfast2000-11-172-0/+8 * Use the byte-read count to decrement the number of bytes left to readJeffrey Stedfast2000-11-173-8/+46 * Before we destroy ourselves, unhook ourselves from the folder updateNot Zed2000-11-172-1/+15 * We should always terminate the string. No need to check outptr is inNot Zed2000-11-174-9/+19 * Added the MessageViewSource bonobo menu verb.Jeffrey Stedfast2000-11-175-0/+134 * Added View Message Source.Jeffrey Stedfast2000-11-172-0/+8 * added cancellation code to our program; people can cancel meetings,Jesse Pavel2000-11-173-21/+131 * Major Update (as opposed to Sergeant Bugfix and General Rewrite).Matthias Warkus2000-11-172-1506/+2469 * Check the uid string is all digits before trying to write a 'standard'Not Zed2000-11-1610-230/+346 * Initialise nameinit & namecache. (contains_name): On first call, load allNot Zed2000-11-163-1/+76 * New file - utility functions for locking using different strategies and/orNot Zed2000-11-166-10/+22 * Locking interfaces.Michael Zucci2000-11-162-0/+468 * Sync here instead. (filter_driver_filter_mbox): And here too.Jeffrey Stedfast2000-11-162-4/+21 * Sync the defaultfolder.Jeffrey Stedfast2000-11-162-1/+8 * Added Forward as Attachment.Jeffrey Stedfast2000-11-162-2/+10 * Added a new Forward as Attachment bonobo menu item verb.Jeffrey Stedfast2000-11-168-76/+343 * Initialize destination struct with '0's.JP Rosevear2000-11-162-1/+6 * update namespaceRadek Doulik2000-11-162-1/+3 * updates for HTMLEditor API changesRadek Doulik2000-11-165-54/+60 * removed #include <libgnomevfs/gnome-vfs.h>Radek Doulik2000-11-162-2/+1 * #!/usr/bin/perl -pi.bakMichael Meeks2000-11-1624-41/+41 * e_msg_composer_guess_mime_type renamed and movedRadek Doulik2000-11-154-5/+35 * mime_guess_type_from_file_name moved back to composer as it introducedRadek Doulik2000-11-153-22/+5 * Removed local again, not quite ready.Not Zed2000-11-158-50/+123 * Maildir lives.Michael Zucci2000-11-1513-17/+1005 * Initial cut for local provider, to handle mh/mailbox/maildir atMichael Zucci2000-11-1522-0/+4165 * Don't cast an int to a ssize_t.Jeffrey Stedfast2000-11-152-1/+6 * Fixed REPLY code.Jesse Pavel2000-11-152-0/+5 * add (e_shell_view_construct): hook up to system_exception on ui_container.Michael Meeks2000-11-142-0/+22 * Updated fi.po.jjranta2000-11-142-1802/+1718 * Updated russian translation.Valek Frob2000-11-142-1067/+774 * rename command to runCommandRadek Doulik2000-11-142-5/+7 * updated to HTMLEditor API changesRadek Doulik2000-11-143-5/+11 * I created this file to store some commonly used enumeration to stringJesse Pavel2000-11-146-48/+231 * Take a 'subscribe' argument so that this can function as a subscribe ANDJeffrey Stedfast2000-11-142-132/+64 * Update the gal reqiurement version.Christopher James Lahey2000-11-144-6/+17 * Updated version number.Christopher James Lahey2000-11-143-17/+25 * Neglect any leading whitespace in the header contents.Jeffrey Stedfast2000-11-142-0/+22 * Updated Swedish translation.Christian Rose2000-11-142-1250/+1119 * extracted function, does reply indentation, use updated editor engine apiRadek Doulik2000-11-142-5/+24 * Translations from keldKenneth Christiansen2000-11-131-1601/+1812 * OK, bugzilla bug #829 is fixed and that does not redeem me from extremeFederico Mena Quintero2000-11-133-2/+10 * Do this the normal way rather than calling mail_operation_wait_for_finish.Dan Winship2000-11-132-27/+36 * Misspelled "occurrences". (fill_recurrence_widgets): Sensitize the "CustomFederico Mena Quintero2000-11-133-84/+149 * If there is a default folder and the message hasn't been deleted then...Jeffrey Stedfast2000-11-132-2/+3 * If there is a default folder and the message hasn't been deleted then...Jeffrey Stedfast2000-11-132-3/+10 * Sync the source folder.Jeffrey Stedfast2000-11-133-1/+8 * New function; re-tag the calendar when its date range changes.Federico Mena Quintero2000-11-132-13/+112 * If there is a default folder and the message hasn't been deleted then...Jeffrey Stedfast2000-11-132-1/+8 * Block the signals as appropriate. (fill_ending_date): Ditto.Federico Mena Quintero2000-11-132-3/+77 * Add the stupid files, yo - FedericoFederico Mena Quintero2000-11-132-0/+188 * Changed the mime type from "text/vcard" to "text/x-vcard".Christopher James Lahey2000-11-132-1/+6 * Clear the rdate and exrule lists from the component if we are setting aFederico Mena Quintero2000-11-1323-398/+478 * Add idl-generated files.Matt Bissiri2000-11-124-17/+28 * Added Send contact as attachment and Send to contact to menus.Christopher James Lahey2000-11-122-0/+13 * Added a bunch of .lo s from the menus directory.Christopher James Lahey2000-11-1211-14/+929 * Link in composer bonobo code.Christopher James Lahey2000-11-129-55/+303 * Go until inend, not inend+1. Changed the continuation and retry logic toNot Zed2000-11-111-187/+134 * Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*" to sync upMatt Bissiri2000-11-1136-46/+88 * Make sure 'atleast' is at least 1, always. This is possibly a temporaryNot Zed2000-11-111-3/+4 * Regenerate the idl-generated files if composer idl changes.Matt Bissiri2000-11-112-1/+13 * put a space before a single-digit day of the month since it seems someDan Winship2000-11-11