Index: design-data/parameters.csv =================================================================== --- design-data/parameters.csv (revision 1157) +++ design-data/parameters.csv (working copy) @@ -2,38 +2,38 @@ "ALTREP","2","const char*", "CHARSET","3","const char*", "CN","4","const char*", -"CUTYPE","5","icalparameter_cutype","INDIVIDUAL;GROUP;RESOURCE;ROOM;UNKNOWN" +"CUTYPE","5","icalparameter_cutype","X=20004;INDIVIDUAL;GROUP;RESOURCE;ROOM;UNKNOWN;NONE" "DELEGATED-FROM","6","const char*", "DELEGATED-TO","7","const char*", "DIR","8","const char*", -"ENCODING","10","icalparameter_encoding","8BIT;BASE64" -"FBTYPE","11","icalparameter_fbtype","FREE;BUSY;BUSY-UNAVAILABLE;BUSY-TENTATIVE" +"ENCODING","10","icalparameter_encoding","X=20015;8BIT;BASE64;NONE" +"FBTYPE","11","icalparameter_fbtype","X=20019;FREE;BUSY;BUSY-UNAVAILABLE;BUSY-TENTATIVE;NONE" "FMTTYPE","12","const char*", "LANGUAGE","14","const char*", "MEMBER","18","const char*", -"PARTSTAT","20","icalparameter_partstat","NEEDS-ACTION;ACCEPTED;DECLINED;TENTATIVE;DELEGATED;COMPLETED;INPROCESS" -"RANGE","21","icalparameter_range","THISANDPRIOR;THISANDFUTURE" -"RELATED","22","icalparameter_related","START;END" -"RELTYPE","23","icalparameter_reltype","PARENT;CHILD;SIBLING" -"ROLE","24","icalparameter_role","CHAIR;REQ-PARTICIPANT;OPT-PARTICIPANT;NON-PARTICIPANT" -"RSVP","25","icalparameter_rsvp","TRUE;FALSE" +"PARTSTAT","20","icalparameter_partstat","X=20029;NEEDS-ACTION;ACCEPTED;DECLINED;TENTATIVE;DELEGATED;COMPLETED;INPROCESS;NONE" +"RANGE","21","icalparameter_range","X=20038;THISANDPRIOR;THISANDFUTURE;NONE" +"RELATED","22","icalparameter_related","X=20042;START;END;NONE" +"RELTYPE","23","icalparameter_reltype","X=20046;PARENT;CHILD;SIBLING;NONE" +"ROLE","24","icalparameter_role","X=20051;CHAIR;REQ-PARTICIPANT;OPT-PARTICIPANT;NON-PARTICIPANT;NONE" +"RSVP","25","icalparameter_rsvp","X=20057;TRUE;FALSE;NONE" "SENT-BY","26","const char*", "TZID","27","const char*", -"VALUE","28","icalparameter_value","BINARY;BOOLEAN;DATE;DURATION;FLOAT;INTEGER;PERIOD;RECUR;TEXT;URI;ERROR;DATE-TIME;UTC-OFFSET;CAL-ADDRESS" +"VALUE","28","icalparameter_value","X=20069;BINARY;BOOLEAN;DATE;DURATION;FLOAT;INTEGER;PERIOD;RECUR;TEXT;URI;ERROR;DATE-TIME;UTC-OFFSET;CAL-ADDRESS;NONE" "X","29","const char*", -"X-LIC-ERRORTYPE","31","icalparameter_xlicerrortype","COMPONENT-PARSE-ERROR;PROPERTY-PARSE-ERROR;PARAMETER-NAME-PARSE-ERROR;PARAMETER-VALUE-PARSE-ERROR;VALUE-PARSE-ERROR;INVALID-ITIP;UNKNOWN-VCAL-PROP-ERROR;MIME-PARSE-ERROR;VCAL-PROP-PARSE-ERROR" -"X-LIC-COMPARETYPE","30","icalparameter_xliccomparetype","EQUAL;NOTEQUAL;LESS;GREATER;LESSEQUAL;GREATEREQUAL;REGEX;ISNULL;ISNOTNULL" +"X-LIC-ERRORTYPE","31","icalparameter_xlicerrortype","X=20096;COMPONENT-PARSE-ERROR;PROPERTY-PARSE-ERROR;PARAMETER-NAME-PARSE-ERROR;PARAMETER-VALUE-PARSE-ERROR;VALUE-PARSE-ERROR;INVALID-ITIP;UNKNOWN-VCAL-PROP-ERROR;MIME-PARSE-ERROR;VCAL-PROP-PARSE-ERROR;NONE" +"X-LIC-COMPARETYPE","30","icalparameter_xliccomparetype","X=20085;EQUAL;NOTEQUAL;LESS;GREATER;LESSEQUAL;GREATEREQUAL;REGEX;ISNULL;ISNOTNULL;NONE" "#Parameters from CalDAV Scheduling Extensions to WebDAV" -"SCHEDULE-AGENT","34","icalparameter_scheduleagent","SERVER;CLIENT" -"SCHEDULE-FORCE-SEND","35","icalparameter_scheduleforcesend","REQUEST;REPLY" +"SCHEDULE-AGENT","34","icalparameter_scheduleagent","X=20061;SERVER;CLIENT;NONE" +"SCHEDULE-FORCE-SEND","35","icalparameter_scheduleforcesend","X=20065;REQUEST;REPLY;NONE" "SCHEDULE-STATUS","36","const char*", "#CAP Parameters","Draft 8", "#this parameter should really be called ACTION, but this conflicts with the ACTION property" -"ACTIONPARAM","1","icalparameter_action","ASK;ABORT" +"ACTIONPARAM","1","icalparameter_action","X=20000;ASK;ABORT;NONE" "ID","13","const char*", -"ENABLE","9","icalparameter_enable","TRUE;FALSE" +"ENABLE","9","icalparameter_enable","X=20011;TRUE;FALSE;NONE" "LATENCY","15","const char*", -"LOCAL","16","icalparameter_local","TRUE;FALSE" +"LOCAL","16","icalparameter_local","X=20025;TRUE;FALSE;NONE" "LOCALIZE","17","const char*", "OPTIONS","19","const char*", "NO","32",, Index: design-data/properties.csv =================================================================== --- design-data/properties.csv (revision 1157) +++ design-data/properties.csv (working copy) @@ -1,123 +1,113 @@ ,, -"#Property Name","libical Value type","iCalendar default value" -"ACKNOWLEDGED","DATE-TIME","DATE-TIME" -"ACTION","ACTION","ACTION" -"ALLOW-CONFLICT","TEXT","TEXT" -"ATTACH","ATTACH","URI" -"ATTENDEE","CAL-ADDRESS","CAL-ADDRESS" -"CALSCALE","TEXT","TEXT" -"CATEGORIES","TEXT","TEXT" -"CALID","TEXT","TEXT" -"CARID","TEXT","TEXT" -"CLASS","CLASS","CLASS" -"COMMENT","TEXT","TEXT" -"COMPLETED","DATE-TIME","DATE-TIME" -"CONTACT","TEXT","TEXT" -"CREATED","DATE-TIME","DATE-TIME" -"DECREED","TEXT","TEXT" -"DEFAULT-CHARSET","TEXT","TEXT" -"DEFAULT-LOCALE","TEXT","TEXT" -"DEFAULT-TZID","TEXT","TEXT" -"DESCRIPTION","TEXT","TEXT" -"DTEND","DATE-TIME","DATE-TIME" -"DTSTAMP","DATE-TIME","DATE-TIME" -"DTSTART","DATE-TIME","DATE-TIME" -"DUE","DATE-TIME","DATE-TIME" -"DURATION","DURATION","DURATION" -"EXDATE","DATE-TIME","DATE-TIME" -"EXRULE","RECUR","RECUR" -"FREEBUSY","PERIOD","PERIOD" -"GEO","GEO","GEO" -"LAST-MODIFIED","DATE-TIME","DATE-TIME" -"LOCATION","TEXT","TEXT" -"METHOD","METHOD","METHOD" -"ORGANIZER","CAL-ADDRESS","CAL-ADDRESS" -"OWNER","TEXT","TEXT" -"PERCENT-COMPLETE","INTEGER","INTEGER" -"PRIORITY","INTEGER","INTEGER" -"PRODID","TEXT","TEXT" -"RDATE","DATE-TIME-PERIOD","DATE-TIME" -"RECURRENCE-ID","DATE-TIME","DATE-TIME" -"RELATED-TO","TEXT","TEXT" -"RELCALID","TEXT","TEXT" -"REPEAT","INTEGER","INTEGER" -"REQUEST-STATUS","REQUEST-STATUS","REQUEST-STATUS" -"RESOURCES","TEXT","TEXT" -"RRULE","RECUR","RECUR" -"SEQUENCE","INTEGER","INTEGER" -"STATUS","STATUS","STATUS" -"SUMMARY","TEXT","TEXT" -"TRANSP","TRANSP","TRANSP" -"TRIGGER","TRIGGER","DURATION" -"TZID","TEXT","TEXT" -"TZNAME","TEXT","TEXT" -"TZOFFSETFROM","UTC-OFFSET","UTC-OFFSET" -"TZOFFSETTO","UTC-OFFSET","UTC-OFFSET" -"TZURL","URI","URI" -"UID","TEXT","TEXT" -"URL","URI","URI" -"VERSION","TEXT","TEXT" -"X","X","X" -"SCOPE","TEXT","TEXT" -"MAXRESULTS","INTEGER","INTEGER" -"MAXRESULTSSIZE","INTEGER","INTEGER" -"QUERY","QUERY","QUERY" -"QUERYNAME","TEXT","TEXT" -"EXPAND","INTEGER","INTEGER" -"TARGET","CAL-ADDRESS","CAL-ADDRESS" -"X-LIC-ERROR","TEXT","TEXT" -"X-LIC-CLUSTERCOUNT","STRING","STRING" -"X-LIC-MIMECONTENTTYPE","STRING","STRING" -"X-LIC-MIMECHARSET","STRING","STRING" -"X-LIC-MIMEENCODING","STRING","STRING" -"X-LIC-MIMEOPTINFO","STRING","STRING" -"X-LIC-MIMECID","STRING","STRING" -"X-LIC-MIMEFILENAME","STRING","STRING" -"CALMASTER","TEXT","TEXT" -"X-LIC-CLASS","X-LIC-CLASS","X-LIC-CLASS" -"ANY","NO","NO" -"NO","NO","NO" -"#CAP Properties",, +"#Property Name","C icalproperty_kind Enum","libical Value type","iCalendar default value" +"#iCalendar Properties","RFC5545 Section 8.3.2", +"CALSCALE","8","TEXT","TEXT" +"METHOD","48","METHOD","METHOD" +"PRODID","57","TEXT","TEXT" +"VERSION","89","TEXT","TEXT" +"ATTACH","4","ATTACH","URI" +"CATEGORIES","12","TEXT","TEXT" +"CLASS","13","CLASS","CLASS" +"COMMENT","15","TEXT","TEXT" +"DESCRIPTION","29","TEXT","TEXT" +"GEO","39","GEO","GEO" +"LOCATION","43","TEXT","TEXT" +"PERCENT-COMPLETE","54","INTEGER","INTEGER" +"PRIORITY","56","INTEGER","INTEGER" +"RESOURCES","71","TEXT","TEXT" +"STATUS","76","STATUS","STATUS" +"SUMMARY","78","TEXT","TEXT" +"COMPLETED","16","DATE-TIME","DATE-TIME" +"DTEND","30","DATE-TIME","DATE-TIME" +"DUE","33","DATE-TIME","DATE-TIME" +"DTSTART","32","DATE-TIME","DATE-TIME" +"DURATION","34","DURATION","DURATION" +"FREEBUSY","38","PERIOD","PERIOD" +"TRANSP","80","TRANSP","TRANSP" +"TZID","82","TEXT","TEXT" +"TZNAME","83","TEXT","TEXT" +"TZOFFSETFROM","84","UTC-OFFSET","UTC-OFFSET" +"TZOFFSETTO","85","UTC-OFFSET","UTC-OFFSET" +"TZURL","86","URI","URI" +"ATTENDEE","5","CAL-ADDRESS","CAL-ADDRESS" +"CONTACT",""18,"TEXT","TEXT" +"ORGANIZER","52","CAL-ADDRESS","CAL-ADDRESS" +"RECURRENCE-ID","66","DATE-TIME","DATE-TIME" +"RELATED-TO","67","TEXT","TEXT" +"URL","88","URI","URI" +"UID","87","TEXT","TEXT" +"EXDATE","35","DATE-TIME","DATE-TIME" +"EXRULE","37","RECUR","RECUR" +"RDATE",""62,"DATE-TIME-PERIOD","DATE-TIME" +"RRULE","73","RECUR","RECUR" +"ACTION","2","ACTION","ACTION" +"REPEAT","69","INTEGER","INTEGER" +"TRIGGER","81","TRIGGER","DURATION" +"CREATED","19","DATE-TIME","DATE-TIME" +"DTSTAMP",""31,"DATE-TIME","DATE-TIME" +"LAST-MODIFIED",""42,"DATE-TIME","DATE-TIME" +"SEQUENCE","75","INTEGER","INTEGER" +"REQUEST-STATUS","70","REQUEST-STATUS","REQUEST-STATUS" +"X","90","X","X" +"#CAP Properties","RFC 4324 Section 2.1.2", ,"FIXME","Should be BOOLEAN" -"ALLOW-CONFLICT","TEXT","TEXT" -"CALID","TEXT","TEXT" -"CALMASTER","TEXT","TEXT" -"CARID","TEXT","TEXT" -"CMD","CMD","CMD" -"CSID","URI","URI" -"DECREED","TEXT","TEXT" -"DEFAULT-CHARSET","TEXT","TEXT" -"DEFAULT-LOCALE","TEXT","TEXT" -"DEFAULT-TZID","TEXT","TEXT" -"DEFAULT-VCARS","TEXT","TEXT" +"ALLOW-CONFLICT","3","TEXT","TEXT" +"CAP-VERSION","9","TEXT","TEXT" +"CAR-LEVEL","10","CAR-LEVEL","CAR-LEVEL" +"COMPONENTS","17","TEXT","TEXT" +"CSID","20","URI","URI" +"CALID","6","TEXT","TEXT" +"CALMASTER","7","TEXT","TEXT" +"CARID","11","TEXT","TEXT" +"CMD","14","CMD","CMD" +"DECREED","23","TEXT","TEXT" +"DEFAULT-CHARSET","24","TEXT","TEXT" +"DEFAULT-LOCALE","25","TEXT","TEXT" +"DEFAULT-TZID","26","TEXT","TEXT" +"DEFAULT-VCARS","27","TEXT","TEXT" ,"FIXME","Should be UPN-FILTER" -"DENY","TEXT","TEXT" +"DENY","28","TEXT","TEXT" ,"FIXME","Should be BOOLEAN" -"EXPAND","INTEGER","INTEGER" +"EXPAND","36","INTEGER","INTEGER" ,"FIXME","Should be UPN-FILTER" -"GRANT","TEXT","TEXT" -"MAXDATE","DATE-TIME","DATE-TIME" -"MINDATE","DATE-TIME","DATE-TIME" -"NAME","TEXT","TEXT" -"OWNER","TEXT","TEXT" -"PERMISSION","TEXT","TEXT" -"QUERY","QUERY","QUERY" -"QUERYID","TEXT","TEXT" -"RELCALID","TEXT","TEXT" -"RESTRICTION","QUERY","QUERY" -"SCOPE","TEXT","TEXT" -"TARGET","CAL-ADDRESS","CAL-ADDRESS" -"#CAP Properties","These are only allowed in VREPLY", -"CAP-VERSION","TEXT","TEXT" -"CAR-LEVEL","CAR-LEVEL","CAR-LEVEL" -"COMPONENTS","TEXT","TEXT" -"STORES-EXPANDED","TEXT","TEXT" -"DATE-MAX","DATE-TIME","DATE-TIME" -"DATE-MIN","DATE-TIME","DATE-TIME" -"ITIP-VERSION","TEXT","TEXT" -"MAX-COMPONENT-SIZE","INTEGER","INTEGER" -"MULTIPART","TEXT","TEXT" -"QUERY-LEVEL","QUERY-LEVEL","QUERY-LEVEL" -"RECUR-ACCEPTED","TEXT","TEXT" -"RECUR-EXPAND","TEXT","TEXT" -"RECUR-LIMIT","TEXT","TEXT" +"GRANT","40","TEXT","TEXT" +"ITIP-VERSION","41","TEXT","TEXT" +"MAXDATE","45","DATE-TIME","DATE-TIME" +"MAX-COMPONENT-SIZE","44","INTEGER","INTEGER" +"MINDATE","49","DATE-TIME","DATE-TIME" +"MULTIPART","50","TEXT","TEXT" +"NAME","51","TEXT","TEXT" +"OWNER","53","TEXT","TEXT" +"PERMISSION","55","TEXT","TEXT" +"QUERY","58","QUERY","QUERY" +"QUERYID","60","TEXT","TEXT" +"QUERY-LEVEL","59","QUERY-LEVEL","QUERY-LEVEL" +"RECUR-ACCEPTED","63","TEXT","TEXT" +"RECUR-EXPAND","64","TEXT","TEXT" +"RECUR-LIMIT","65","TEXT","TEXT" +"RESTRICTION","72","QUERY","QUERY" +"SCOPE","74","TEXT","TEXT" +"STORES-EXPANDED","77","TEXT","TEXT" +"TARGET","79","CAL-ADDRESS","CAL-ADDRESS" +"#Miscellaneous Properties","Origin Unknown", +"MAXRESULTS","46","INTEGER","INTEGER" +"MAXRESULTSSIZE","47","INTEGER","INTEGER" +"QUERYNAME","61","TEXT","TEXT" +"RELCALID","68","TEXT","TEXT" +"DATE-MAX","21","DATE-TIME","DATE-TIME" +"DATE-MIN","22","DATE-TIME","DATE-TIME" +"#libical Internal Properties",, +"X-LIC-ERROR","93","TEXT","TEXT" +"X-LIC-CLUSTERCOUNT","92","STRING","STRING" +"X-LIC-MIMECONTENTTYPE","96","STRING","STRING" +"X-LIC-MIMECHARSET","94","STRING","STRING" +"X-LIC-MIMEENCODING","97","STRING","STRING" +"X-LIC-MIMEOPTINFO","99","STRING","STRING" +"X-LIC-MIMECID","95","STRING","STRING" +"X-LIC-MIMEFILENAME","98","STRING","STRING" +"X-LIC-CLASS","91","X-LIC-CLASS","X-LIC-CLASS" +"ANY","0","NO","NO" +"NO","100","NO","NO" +"#VALARM Extension Properties","draft-daboo-valarm-extensions Section 13.1", +"ACKNOWLEDGED","1","DATE-TIME","DATE-TIME" +"#NOTE for updaters. Preserve the icalproperty_kind Enum values to aid forward compatibility" Index: design-data/value-types.csv =================================================================== --- design-data/value-types.csv (revision 1157) +++ design-data/value-types.csv (working copy) @@ -1,35 +1,38 @@ -"#Name","C type& gen flag","Python","Component Values","Enum Values" -"BINARY","(a)const char*","file","unitary", -"BOOLEAN","(a)int","integer","unitary", -"CAL-ADDRESS","(a)const char*","string","unitary", -"DATE","(a)struct icaltimetype","Time","unitary", -"DATE-TIME","(m)struct icaltimetype","Time","unitary", -"DURATION","(a)struct icaldurationtype","Duration","unitary", -"FLOAT","(a)float","float","unitary", -"INTEGER","(a)int","integer","unitary", -"PERIOD","(a)struct icalperiodtype","Period","unitary", -"RECUR","(m)struct icalrecurrencetype","RecurrenceSet","unitary", -"TEXT","(a)const char*","string","unitary", -"URI","(a)const char*","string","unitary", -"UTC-OFFSET","(a)int","integer","unitary", -"QUERY","(a)const char*","string","unitary", +"#Name","C icalvalue_kind Enum","C type& gen flag","Python","Component Values","Enum Values" +"BINARY","5003","(a)const char*","file","unitary", +"BOOLEAN","5004","(a)int","integer","unitary", +"CAL-ADDRESS","5005","(a)const char*","string","unitary", +"DATE","5009","(a)struct icaltimetype","Time","unitary", +"DATE-TIME","5010","(m)struct icaltimetype","Time","unitary", +"DURATION","5012","(a)struct icaldurationtype","Duration","unitary", +"FLOAT","5013","(a)float","float","unitary", +"INTEGER","5015","(a)int","integer","unitary", +"PERIOD","5017","(a)struct icalperiodtype","Period","unitary", +"RECUR","5020","(m)struct icalrecurrencetype","RecurrenceSet","unitary", +"TEXT","5024","(a)const char*","string","unitary", +"URI","5027","(a)const char*","string","unitary", +"UTC-OFFSET","5028","(a)int","integer","unitary", +"QUERY","5018","(a)const char*","string","unitary", "#Non-standard multi-valued types",,,, -"ATTACH","(m)icalattach *","none","URI;BINARY", -"DATE-TIME-PERIOD","(m)struct icaldatetimeperiodtype","none","DATE-TIME;PERIOD", -"TRIGGER","(m)struct icaltriggertype","string","DURATION;DATE-TIME", +"ATTACH","5002","(m)icalattach *","none","URI;BINARY", +"DATE-TIME-PERIOD","5011","(m)struct icaldatetimeperiodtype","none","DATE-TIME;PERIOD", +"TRIGGER","5026","(m)struct icaltriggertype","string","DURATION;DATE-TIME", "#Non-standard property enumeration types",,,, -"METHOD","(a)enum icalproperty_method","string","unitary","PUBLISH;REQUEST;REPLY;ADD;CANCEL;REFRESH;COUNTER;DECLINECOUNTER;CREATE;READ;RESPONSE;MOVE;MODIFY;GENERATEUID;DELETE" -"X-LIC-CLASS","(a)enum icalproperty_xlicclass","string","unitary","PUBLISH-NEW;PUBLISH-UPDATE;PUBLISH-FREEBUSY;REQUEST-NEW;REQUEST-UPDATE;REQUEST-RESCHEDULE;REQUEST-DELEGATE;REQUEST-NEW-ORGANIZER;REQUEST-FORWARD;REQUEST-STATUS;REQUEST-FREEBUSY;REPLY-ACCEPT;REPLY-DECLINE;REPLY-DELEGATE;REPLY-CRASHER-ACCEPT;REPLY-CRASHER-DECLINE;ADD-INSTANCE;CANCEL-EVENT;CANCEL-INSTANCE;CANCEL-ALL;REFRESH;COUNTER;DECLINECOUNTER;MALFORMED;OBSOLETE;MISSEQUENCED;UNKNOWN" -"ACTION","(a)enum icalproperty_action","string","unitary","AUDIO;DISPLAY;EMAIL;PROCEDURE" -"STATUS","(a)enum icalproperty_status","string","unitary","TENTATIVE;CONFIRMED;COMPLETED;NEEDS-ACTION;CANCELLED;IN-PROCESS;DRAFT;FINAL" -"TRANSP","(a)enum icalproperty_transp","string","unitary","OPAQUE;OPAQUE-NOCONFLICT;TRANSPARENT;TRANSPARENT-NOCONFLICT" -"CLASS","(m)enum icalproperty_class","string","unitary","PUBLIC;PRIVATE;CONFIDENTIAL" +"METHOD","5016","(a)enum icalproperty_method","string","unitary","X=10030;PUBLISH;REQUEST;REPLY;ADD;CANCEL;REFRESH;COUNTER;DECLINECOUNTER;CREATE;READ;RESPONSE;MOVE;MODIFY;GENERATEUID;DELETE;NONE" +"X-LIC-CLASS","5030","(a)enum icalproperty_xlicclass","string","unitary","X=10067;PUBLISH-NEW;PUBLISH-UPDATE;PUBLISH-FREEBUSY;REQUEST-NEW;REQUEST-UPDATE;REQUEST-RESCHEDULE;REQUEST-DELEGATE;REQUEST-NEW-ORGANIZER;REQUEST-FORWARD;REQUEST-STATUS;REQUEST-FREEBUSY;REPLY-ACCEPT;REPLY-DECLINE;REPLY-DELEGATE;REPLY-CRASHER-ACCEPT;REPLY-CRASHER-DECLINE;ADD-INSTANCE;CANCEL-EVENT;CANCEL-INSTANCE;CANCEL-ALL;REFRESH;COUNTER;DECLINECOUNTER;MALFORMED;OBSOLETE;MISSEQUENCED;UNKNOWN;NONE" +"ACTION","5001","(a)enum icalproperty_action","string","unitary","X=10000;AUDIO;DISPLAY;EMAIL;PROCEDURE;NONE=10005" +"STATUS","5022","(a)enum icalproperty_status","string","unitary","X=10051;TENTATIVE;CONFIRMED;COMPLETED;NEEDS-ACTION;CANCELLED;IN-PROCESS;DRAFT;FINAL;NONE" +"TRANSP","5025","(a)enum icalproperty_transp","string","unitary","X=10061;OPAQUE;OPAQUE-NOCONFLICT;TRANSPARENT;TRANSPARENT-NOCONFLICT;NONE" +"CLASS","5007","(m)enum icalproperty_class","string","unitary","X=10011;PUBLIC;PRIVATE;CONFIDENTIAL;NONE" "#Other non-standard",,,, -"REQUEST-STATUS","(a)struct icalreqstattype","string","unitary" -"GEO","(m)struct icalgeotype","tuple","unitary", -"STRING","(a)const char*","string","unitary", -"X","(m)const char*","string","unitary", +"REQUEST-STATUS","5021","(a)struct icalreqstattype","string","unitary" +"GEO","5014","(m)struct icalgeotype","tuple","unitary", +"STRING",""5023,"(a)const char*","string","unitary", +"X","5029","(m)const char*","string","unitary", "#CAP enumeration types",,,, -"CMD","(a)enum icalproperty_cmd","string","unitary","ABORT;CONTINUE;CREATE;DELETE;GENERATE-UID;GET-CAPABILITY;IDENTIFY;MODIFY;MOVE;REPLY;SEARCH;SET-LOCALE" -"QUERY-LEVEL","(a)enum icalproperty_querylevel","string","unitary","CAL-QL-1;CAL-QL-NONE" -"CAR-LEVEL","(a)enum icalproperty_carlevel","string","unitary","CAR-NONE;CAR-MIN;CAR-FULL-1" +"CMD","5008","(a)enum icalproperty_cmd","string","unitary","X=10016;ABORT;CONTINUE;CREATE;DELETE;GENERATE-UID;GET-CAPABILITY;IDENTIFY;MODIFY;MOVE;REPLY;SEARCH;SET-LOCALE;NONE" +"QUERY-LEVEL","5019","(a)enum icalproperty_querylevel","string","unitary","X=10047;CAL-QL-1;CAL-QL-NONE;NONE" +"CAR-LEVEL","5006","(a)enum icalproperty_carlevel","string","unitary","X=10006;CAR-NONE;CAR-MIN;CAR-FULL-1;NONE" +"ANY","5000",,,, +"NO","5031",,,, +"#NOTE for updaters. Preserve the icalvalue_kind Enum values and property Enum values to aid forward compatibility" Index: scripts/mkderivedparameters.pl =================================================================== --- scripts/mkderivedparameters.pl (revision 1157) +++ scripts/mkderivedparameters.pl (working copy) @@ -66,7 +66,7 @@ print " ICAL_NO_PARAMETER = ".$enumConst."\n} icalparameter_kind;\n\n"; # Now create enumerations for parameter values - $idx = 20000; + $lastidx = $idx = 20000; print "#define ICALPARAMETER_FIRST_ENUM $idx\n\n"; @@ -85,10 +85,6 @@ print "typedef enum $type {\n"; my $first = 1; - unshift(@enums,"X"); - - push(@enums,"NONE"); - foreach $e (@enums) { if (!$first){ print ",\n"; @@ -96,11 +92,20 @@ $first = 0; } + $e =~ /([a-zA-Z0-9\-]+)=?([0-9]+)?/; + $e = $1; + if ($2) { + $idx = $2; + } else { + $idx++; + } + if ($idx > $lastidx) { + $lastidx = $idx; + } + my $uce = join("",map {uc(lc($_));} split(/-/,$e)); print " ICAL_${ucv}_${uce} = $idx"; - - $idx++; } $c_type =~ s/enum //; @@ -108,7 +113,8 @@ } } - print "#define ICALPARAMETER_LAST_ENUM $idx\n\n"; + $lastidx++; + print "#define ICALPARAMETER_LAST_ENUM $lastidx\n\n"; } @@ -120,6 +126,10 @@ my $out; foreach $enum (@{$params{'VALUE'}->{'enums'}}){ + $enum =~ /([a-zA-Z0-9\-]+)=?([0-9]+)?/; + $enum = $1; + + next if $enum eq 'X' or $enum eq 'NONE'; next if $enum eq 'NO' or $enum eq 'ERROR'; $uc = join("",map {uc(lc($_));} split(/-/,$enum)); $out.=" {ICAL_VALUE_${uc},ICAL_${uc}_VALUE},\n"; @@ -170,6 +180,11 @@ if(@enums){ foreach $e (@enums){ + $e =~ /([a-zA-Z0-9\-]+)=?([0-9]+)?/; + $e = $1; + + next if $e eq 'X' or $e eq 'NONE'; + my $uce = join("",map {uc(lc($_));} split(/-/,$e)); $count++; Index: scripts/mkderivedproperties.pl =================================================================== --- scripts/mkderivedproperties.pl (revision 1157) +++ scripts/mkderivedproperties.pl (working copy) @@ -85,7 +85,6 @@ print "{ICAL_${uc}_PROPERTY,\"\",ICAL_NO_VALUE}};\n\n"; - $idx = 10000; $count = 1; my $out = ""; @@ -101,11 +100,16 @@ my ($c_autogen,$c_type) = @{$valuemap{$value}->{'C'}}; - unshift(@enums,"X"); - push(@enums,"NONE"); - foreach $e (@enums) { + $e =~ /([a-zA-Z0-9\-]+)=?([0-9]+)?/; + $e = $1; + if ($2) { + $idx = $2; + } else { + $idx++; + } + my $uce = join("",map {uc(lc($_));} split(/-/,$e)); if($e ne "X" and $e ne "NONE"){ @@ -116,7 +120,6 @@ $out.=" {ICAL_${ucv}_PROPERTY,ICAL_${ucv}_${uce},\"$str\" }, /*$idx*/\n"; - $idx++; $count++; } @@ -136,7 +139,8 @@ if($opt_h){ # Create the property enumerations list - print "typedef enum icalproperty_kind {\n ICAL_ANY_PROPERTY = 0,\n"; + my $enumConst = $propmap{'ANY'}->{"kindEnum"}; + print "typedef enum icalproperty_kind {\n ICAL_ANY_PROPERTY = ".$enumConst.",\n"; foreach $prop (sort keys %propmap) { next if !$prop; @@ -145,10 +149,13 @@ my ($uc,$lc,$lcvalue,$ucvalue,$type) = fudge_data($prop); - print " ICAL_${uc}_PROPERTY, \n"; + $enumConst = $propmap{$prop}->{"kindEnum"}; + + print " ICAL_${uc}_PROPERTY = ".$enumConst.", \n"; } - print " ICAL_NO_PROPERTY\n} icalproperty_kind;\n\n"; + $enumConst = $propmap{'NO'}->{"kindEnum"}; + print " ICAL_NO_PROPERTY = ".$enumConst."\n} icalproperty_kind;\n\n"; } Index: scripts/mkderivedvalues.pl =================================================================== --- scripts/mkderivedvalues.pl (revision 1157) +++ scripts/mkderivedvalues.pl (working copy) @@ -59,25 +59,28 @@ if($opt_h){ # First print out the value enumerations - $idx = 5000; + $idx = $h{'ANY'}->{"kindEnum"}; print "typedef enum icalvalue_kind {\n"; print " ICAL_ANY_VALUE=$idx,\n"; foreach $value (sort keys %h) { - $idx++; + next if !$value; + + next if $value eq 'NO' or $value eq 'ANY'; + my $ucv = join("",map {uc(lc($_));} split(/-/,$value)); - next if $value eq "NO"; - + $idx = $h{$value}->{"kindEnum"}; + print " ICAL_${ucv}_VALUE=$idx,\n"; } - $idx++; + $idx = $h{'NO'}->{"kindEnum"}; print " ICAL_NO_VALUE=$idx\n} icalvalue_kind ;\n\n"; # Now create enumerations for property values - $idx = 10000; + $lastidx = $idx = 10000; print "#define ICALPROPERTY_FIRST_ENUM $idx\n\n"; @@ -85,7 +88,7 @@ next if !$value; - next if $value eq 'NO' or $prop eq 'ANY'; + next if $value eq 'NO' or $value eq 'ANY'; my $ucv = join("",map {uc(lc($_));} split(/-/,$value)); my @enums = @{$h{$value}->{'enums'}}; @@ -96,10 +99,6 @@ print "typedef $c_type {\n"; my $first = 1; - unshift(@enums,"X"); - - push(@enums,"NONE"); - foreach $e (@enums) { if (!$first){ print ",\n"; @@ -107,11 +106,20 @@ $first = 0; } + $e =~ /([a-zA-Z0-9\-]+)=?([0-9]+)?/; + $e = $1; + if ($2) { + $idx = $2; + } else { + $idx++; + } + if ($idx > $lastidx) { + $lastidx = $idx; + } + my $uce = join("",map {uc(lc($_));} split(/-/,$e)); print " ICAL_${ucv}_${uce} = $idx"; - - $idx++; } $c_type =~ s/enum //; @@ -120,7 +128,8 @@ } } - print "#define ICALPROPERTY_LAST_ENUM $idx\n\n"; + $lastidx++; + print "#define ICALPROPERTY_LAST_ENUM $lastidx\n\n"; } @@ -134,11 +143,10 @@ foreach $value (keys %h) { - $idx++; + next if $value eq 'NO' or $value eq 'ANY'; + my $ucv = join("",map {uc(lc($_));} split(/-/,$value)); - next if $value eq "NO"; - print " {ICAL_${ucv}_VALUE,\"$value\"},\n"; } @@ -148,8 +156,10 @@ } -foreach $value (keys %h) { +foreach $value (sort keys %h) { + next if $value eq 'ANY'; + my $autogen = $h{$value}->{C}->[0]; my $type = $h{$value}->{C}->[1]; Index: scripts/readvaluesfile.pl =================================================================== --- scripts/readvaluesfile.pl (revision 1157) +++ scripts/readvaluesfile.pl (working copy) @@ -20,16 +20,17 @@ @column = split(/,/,$_); my $value_name = $column[0]; + my $enumConst = $column[1]; - my $c_type_str = $column[1]; + my $c_type_str = $column[2]; my $c_autogen = ($c_type_str =~ /\(a\)/); my $c_type = $c_type_str; $c_type =~ s/\(.\)//; - my $python_type = $column[2]; - my $components = $column[3]; - my $enum_values = $column[4]; + my $python_type = $column[3]; + my $components = $column[4]; + my $enum_values = $column[5]; my @components; if($components ne "unitary"){ @@ -47,6 +48,7 @@ } $h{$value_name} = { C => [$c_autogen,$c_type], + kindEnum => $enumConst, perl => $perl_type, python => $python_type, components=>[@components], @@ -78,10 +80,12 @@ my $property_name = $column[0]; - my $lic_value = $column[1]; - my $default_value = $column[2]; + my $enumConst = $column[1]; + my $lic_value = $column[2]; + my $default_value = $column[3]; $h{$property_name} = { lic_value => $lic_value, + kindEnum => $enumConst, default_value => $default_value }; }