sandbox-calendaring-types.patch
proto/sandbox/rst/calendar/Attendee.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
option java_outer_classname = "AttendeeType"; |
|
4 | ||
5 |
/** |
|
6 |
* A description of an Attendee of a calendar component. |
|
7 |
* |
|
8 |
* This message represents an ATTENDEE property in RFC 2445. |
|
9 |
* |
|
10 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
11 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
12 |
* |
|
13 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
14 |
*/ |
|
15 |
message Attendee { |
|
16 | ||
17 |
/** |
|
18 |
* Used to identify the type of a calendar user specified by an |
|
19 |
* attendee definition. An attendee at a calender event does |
|
20 |
* not inevitably have to be a person. It also can be a group |
|
21 |
* room or different noteworthy physical resource. |
|
22 |
* |
|
23 |
* This enum represents the possible values of a CUTYPE in RFC 2445 |
|
24 |
*/ |
|
25 |
enum UserType { |
|
26 | ||
27 |
/** |
|
28 |
* The attendee is an individual. |
|
29 |
*/ |
|
30 |
INDIVIDUAL = 1; |
|
31 | ||
32 |
/** |
|
33 |
* The attendee is a group of individuals. |
|
34 |
*/ |
|
35 |
GROUP = 2; |
|
36 | ||
37 |
/** |
|
38 |
* The attendee is a physical resource. |
|
39 |
*/ |
|
40 |
RESOURCE = 3; |
|
41 | ||
42 |
/** |
|
43 |
* The attendee is a room. |
|
44 |
*/ |
|
45 |
ROOM = 4; |
|
46 |
} |
|
47 | ||
48 |
/** |
|
49 |
* Used to specify the participation role of an attendee. |
|
50 |
* |
|
51 |
* This enum represents the possible values of a ROLE in RFC 2445 |
|
52 |
*/ |
|
53 |
enum Role { |
|
54 | ||
55 |
/** |
|
56 |
* Chair of the calendar entity. |
|
57 |
*/ |
|
58 |
CHAIR = 1; |
|
59 | ||
60 |
/** |
|
61 |
* Someone whose participation is required. |
|
62 |
*/ |
|
63 |
REQUIRED_PARTICIPANT = 2; |
|
64 | ||
65 |
/** |
|
66 |
* Someone whose participation is optional. |
|
67 |
*/ |
|
68 |
OPTIONAL_PARTICIPANT = 3; |
|
69 | ||
70 |
/** |
|
71 |
* Someone whose participation is for information purposes only. |
|
72 |
*/ |
|
73 |
NON_PARTICIPANT = 4; |
|
74 |
} |
|
75 | ||
76 |
/** |
|
77 |
* Used to specify the participation status of an attendee. |
|
78 |
* |
|
79 |
* This enum represents the possible values of a PARTSTAT in RFC 2445 |
|
80 |
*/ |
|
81 |
enum ParticipatonStatus { |
|
82 | ||
83 |
/** |
|
84 |
* The attendee has yet to react. |
|
85 |
*/ |
|
86 |
NEEDS_ACTION = 1; |
|
87 | ||
88 |
/** |
|
89 |
* The attendee has accepted the participation. |
|
90 |
*/ |
|
91 |
ACCEPTED = 2; |
|
92 | ||
93 |
/** |
|
94 |
* The attendee has declined the participation. |
|
95 |
*/ |
|
96 |
DECLINED = 3; |
|
97 |
} |
|
98 | ||
99 |
/** |
|
100 |
* Specifies the attendees calendar user address as URI, which can for |
|
101 |
* example be a MAILTO. |
|
102 |
* |
|
103 |
* This field corresponds to the cal-address of an attendee in RFC 2445 |
|
104 |
*/ |
|
105 |
required string calendar_adress = 1; |
|
106 | ||
107 |
/** |
|
108 |
* Specifies what type of calendar user this attendee is. |
|
109 |
* An attendee can be a person, group, room or resource. |
|
110 |
* |
|
111 |
* This field corresponds to the cutypeparam of an attendee in RFC 2445 |
|
112 |
*/ |
|
113 |
optional UserType calendar_user_type = 6 [default = INDIVIDUAL]; |
|
114 | ||
115 |
/** |
|
116 |
* Specifies the groups the attendee belongs to via a list of URIs. |
|
117 |
* |
|
118 |
* This field corresponds to the memberparam of an attendee in RFC 2445. |
|
119 |
* The original memberparam is a single string holding the uris as a comma |
|
120 |
* separated list of double quoted uris. |
|
121 |
*/ |
|
122 |
repeated string member = 7; |
|
123 | ||
124 |
/** |
|
125 |
* Specifies the participation role of the attendee. |
|
126 |
* |
|
127 |
* This field corresponds to the roleparam of an attendee in RFC 2445 |
|
128 |
*/ |
|
129 |
optional Role participation_role = 8 [default = REQUIRED_PARTICIPANT]; |
|
130 | ||
131 |
/** |
|
132 |
* Specifies the participation status of the attendee. |
|
133 |
* |
|
134 |
* This field corresponds to the partstatparam of an attendee in RFC 2445 |
|
135 |
*/ |
|
136 |
optional ParticipatonStatus participation_status = 9 [default = NEEDS_ACTION]; |
|
137 | ||
138 |
/** |
|
139 |
* Specifies whether the favor of a reply is requested. |
|
140 |
* |
|
141 |
* This field corresponds to the rsvpparam of an attendee in RFC 2445 |
|
142 |
*/ |
|
143 |
optional bool reply_requested = 10 [default = false]; |
|
144 | ||
145 |
/** |
|
146 |
* An URI specifying a user to whom this participation was delegated. |
|
147 |
* |
|
148 |
* This field corresponds to the deltoparam of an attendee in RFC 2445 |
|
149 |
*/ |
|
150 |
optional string delegated_to = 11; |
|
151 | ||
152 |
/** |
|
153 |
* An URI specifying a user from which this participation was delegated. |
|
154 |
* |
|
155 |
* This field corresponds to the delfromparam of an attendee in RFC 2445 |
|
156 |
*/ |
|
157 |
optional string delegated_from = 12; |
|
158 | ||
159 |
/** |
|
160 |
* Specifies another user that is acting on behalf of the attendee |
|
161 |
* |
|
162 |
* This field corresponds to the sentbyparam of an attendee in RFC 2445 |
|
163 |
*/ |
|
164 |
optional string sent_by = 4; |
|
165 | ||
166 |
/** |
|
167 |
* Specifies the common or display name of the attendee. |
|
168 |
* |
|
169 |
* This field corresponds to the cnparam of an attendee in RFC 2445 |
|
170 |
*/ |
|
171 |
optional string common_name = 2; |
|
172 | ||
173 |
/** |
|
174 |
* Specifies a reference (uri) to the directory entry associated with the |
|
175 |
* calendar user acting as attendee. |
|
176 |
* |
|
177 |
* This field corresponds to the dirparam of an attendee in RFC 2445 |
|
178 |
*/ |
|
179 |
optional string directory = 3; |
|
180 | ||
181 |
/** |
|
182 |
* Specifies the language as defined in http://www.ietf.org/rfc/rfc1766.txt. |
|
183 |
* If specified the language applies to the common_name field. |
|
184 |
* |
|
185 |
* This field corresponds to the languageparam of an attendee in RFC 2445 |
|
186 |
*/ |
|
187 |
optional string language = 5; |
|
188 | ||
189 |
} |
proto/sandbox/rst/calendar/CalendarComponents.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/TimeZone.proto"; |
|
4 |
import "rst/calendar/Event.proto"; |
|
5 |
import "rst/calendar/Todo.proto"; |
|
6 | ||
7 |
option java_outer_classname = "CalendarComponentsType"; |
|
8 | ||
9 |
/** |
|
10 |
* A container message for multiple calendar components. |
|
11 |
* |
|
12 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
13 |
*/ |
|
14 |
message CalendarComponents { |
|
15 | ||
16 |
/** |
|
17 |
* A set of TimeZones |
|
18 |
*/ |
|
19 |
repeated TimeZone timezones = 1; |
|
20 | ||
21 |
/** |
|
22 |
* A set of Events |
|
23 |
*/ |
|
24 |
repeated Event events = 2; |
|
25 | ||
26 |
/** |
|
27 |
* A set of Todos |
|
28 |
*/ |
|
29 |
repeated Todo todos = 3; |
|
30 | ||
31 |
} |
proto/sandbox/rst/calendar/DateTime.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
option java_outer_classname = "DateTimeType"; |
|
4 | ||
5 |
/** |
|
6 |
* A description of date and time of day. |
|
7 |
* |
|
8 |
* This message represents a DATE-TIME property in RFC 2445. |
|
9 |
* |
|
10 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
11 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
12 |
* |
|
13 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
14 |
*/ |
|
15 |
message DateTime { |
|
16 | ||
17 |
/** |
|
18 |
* A DateTime can have one of the three following forms. |
|
19 |
*/ |
|
20 |
enum Type { |
|
21 | ||
22 |
/** |
|
23 |
* UTC that this time is meant to be in absolute Coordinated Universal |
|
24 |
* Time. |
|
25 |
*/ |
|
26 |
UTC = 1; |
|
27 | ||
28 |
/** |
|
29 |
* FLOATING is used to specify time which is not bound to any time zone. |
|
30 |
* |
|
31 |
* Example: Dinner may always be at 6pm regardless of the current time |
|
32 |
* zone. |
|
33 |
*/ |
|
34 |
FLOATING = 2; |
|
35 | ||
36 |
/** |
|
37 |
* LOCAL specifies that this time is bound to a specific time zone. |
|
38 |
* |
|
39 |
* This additionally requires the timezone_id field to be set. |
|
40 |
*/ |
|
41 |
LOCAL = 3; |
|
42 | ||
43 |
} |
|
44 | ||
45 |
/** |
|
46 |
* Specifies whether this time is floating, utc or local. |
|
47 |
*/ |
|
48 |
optional Type date_time_type = 1 [default = UTC]; |
|
49 | ||
50 |
/** |
|
51 |
* Specifies the time zone to which this time is bound. |
|
52 |
* |
|
53 |
* The value of timezone_id must match the timezone_id of a known or |
|
54 |
* attached TimeZone definition. |
|
55 |
* |
|
56 |
* This field MUST be specified when DateTimeType is LOCAL. |
|
57 |
* In all other cases it has no meaning. |
|
58 |
*/ |
|
59 |
optional string timezone_id = 2 [default = "UTC"]; |
|
60 | ||
61 |
/** |
|
62 |
* The time since epoch (01.01.1970 at 00:00 UTC) in milliseconds. |
|
63 |
*/ |
|
64 |
optional uint64 milliseconds_since_epoch = 3 [default = 0]; |
|
65 | ||
66 |
} |
proto/sandbox/rst/calendar/Entry.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/TimeZone.proto"; |
|
4 |
import "rst/calendar/DateTime.proto"; |
|
5 |
import "rst/calendar/RecurrenceId.proto"; |
|
6 |
import "rst/calendar/Attendee.proto"; |
|
7 |
import "rst/calendar/Organizer.proto"; |
|
8 |
import "rst/calendar/Recurrence.proto"; |
|
9 |
import "rst/calendar/RequestStatus.proto"; |
|
10 |
import "rst/calendar/Relationship.proto"; |
|
11 | ||
12 |
option java_outer_classname = "EntryType"; |
|
13 | ||
14 |
/** |
|
15 |
* A description of a calendar entry holding the common properties of |
|
16 |
* VEVENT and VTODO components from RFC 2445. |
|
17 |
* |
|
18 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
19 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
20 |
* |
|
21 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
22 |
*/ |
|
23 |
message Entry { |
|
24 | ||
25 |
/** |
|
26 |
* This enum is used to restrict access or visibility of of the entry. |
|
27 |
* |
|
28 |
* It represents the possible values of a CLASS in RFC 2445 |
|
29 |
*/ |
|
30 |
enum Visibility { |
|
31 | ||
32 |
/** |
|
33 |
* The entry can be seen by everyone. |
|
34 |
*/ |
|
35 |
PUBLIC = 1; |
|
36 | ||
37 |
/** |
|
38 |
* The entry is private. |
|
39 |
*/ |
|
40 |
PRIVATE = 2; |
|
41 | ||
42 |
/** |
|
43 |
* The entry is confidential. |
|
44 |
*/ |
|
45 |
CONFIDENTIAL = 3; |
|
46 |
} |
|
47 | ||
48 |
/** |
|
49 |
* Specifies the visibility classification of this entry. |
|
50 |
* |
|
51 |
* This field corresponds to the class property of an entry in RFC 2445. |
|
52 |
*/ |
|
53 |
optional Visibility visibility = 1 [default = PUBLIC]; |
|
54 | ||
55 |
/** |
|
56 |
* Specifies when the entry was created in utc time. |
|
57 |
* |
|
58 |
* More precisely: Tells when the entry was first created in the |
|
59 |
* calendar store. |
|
60 |
* |
|
61 |
* This field corresponds to the created property of an entry in RFC 2445. |
|
62 |
*/ |
|
63 |
//@constraint(value.type == DateTime.Type.UTC) |
|
64 |
optional DateTime created_utc = 2; |
|
65 | ||
66 |
/** |
|
67 |
* A more complete description of the entry. |
|
68 |
* |
|
69 |
* This field corresponds to the description property of an entry in |
|
70 |
* RFC 2445. |
|
71 |
*/ |
|
72 |
optional string description = 3; |
|
73 | ||
74 |
/** |
|
75 |
* Specifies when the entry starts. |
|
76 |
* |
|
77 |
* This field corresponds to the dtstart property of an entry in RFC 2445. |
|
78 |
*/ |
|
79 |
optional DateTime date_time_start = 4; |
|
80 | ||
81 |
/** |
|
82 |
* Specifies the global position of the associated activity. |
|
83 |
* |
|
84 |
* This field corresponds to the latitude part of the geo property of an |
|
85 |
* entry in RFC 2445. |
|
86 |
*/ |
|
87 |
optional double geo_latitude = 5 [default = 0.]; |
|
88 | ||
89 |
/** |
|
90 |
* Specifies the global position of the associated activity. |
|
91 |
* |
|
92 |
* This field corresponds to the longitude part of the geo property of an |
|
93 |
* entry in RFC 2445. |
|
94 |
*/ |
|
95 |
optional double geo_longitude = 6 [default = 0.]; |
|
96 | ||
97 |
/** |
|
98 |
* Specifies when the entry was modified the last time in utc time. |
|
99 |
* |
|
100 |
* More precisely: Tells when the entry was last modified in the |
|
101 |
* calendar store. |
|
102 |
* |
|
103 |
* This field corresponds to the last-mod property of an entry in RFC 2445. |
|
104 |
*/ |
|
105 |
//@constraint(value.type == DateTime.Type.UTC) |
|
106 |
optional DateTime last_modified = 7; |
|
107 | ||
108 |
/** |
|
109 |
* Specifies where the entry will take place. |
|
110 |
* |
|
111 |
* This field corresponds to the location property of an entry in RFC 2445. |
|
112 |
*/ |
|
113 |
optional string location = 8; |
|
114 | ||
115 |
/** |
|
116 |
* Defines the organizer of the entry. |
|
117 |
* |
|
118 |
* This field corresponds to the organizer property of an entry in RFC 2445. |
|
119 |
*/ |
|
120 |
optional Organizer organizer = 9; |
|
121 | ||
122 |
/** |
|
123 |
* The priority of the entry as an integer between 0 and 9. |
|
124 |
* |
|
125 |
* 0 means not defined, 1 means highest, 9 means lowest priority. |
|
126 |
* |
|
127 |
* This field corresponds to the priority property of an entry in RFC 2445. |
|
128 |
*/ |
|
129 |
//@constraint(0 <= value <= 9) |
|
130 |
optional uint32 priority = 10 [default = 0]; |
|
131 | ||
132 |
/** |
|
133 |
* Specifies when the entry was created. |
|
134 |
* |
|
135 |
* More precise: When the iCalendar object representation of the calendar |
|
136 |
* service information was created or last modified. |
|
137 |
* |
|
138 |
* This field corresponds to the dtstamp property of an entry in RFC 2445. |
|
139 |
*/ |
|
140 |
optional DateTime date_time_stamp = 11; |
|
141 | ||
142 |
/** |
|
143 |
* This is incremented every time the entry is changed significantly. |
|
144 |
* |
|
145 |
* This field corresponds to the seq property of an entry in RFC 2445. |
|
146 |
*/ |
|
147 |
optional uint32 sequence_number = 12 [default = 0]; |
|
148 | ||
149 |
/** |
|
150 |
* A short summary or the subject of the entry. |
|
151 |
* |
|
152 |
* This field corresponds to the summary property of an entry in RFC 2445. |
|
153 |
*/ |
|
154 |
optional string summary = 13; |
|
155 | ||
156 |
/** |
|
157 |
* The globally unique id of the entry. |
|
158 |
* |
|
159 |
* This field corresponds to the uid property of an entry in RFC 2445. |
|
160 |
*/ |
|
161 |
optional string uid = 14; |
|
162 | ||
163 |
/** |
|
164 |
* The Uniform Resource Locator associated with this entry. |
|
165 |
* |
|
166 |
* This field corresponds to the url property of an entry in RFC 2445. |
|
167 |
*/ |
|
168 |
optional string url = 15; |
|
169 | ||
170 |
/** |
|
171 |
* Combined with uid and sequence, this can be used to reference a specific |
|
172 |
* entry in a recurrence set. |
|
173 |
* |
|
174 |
* This field corresponds to the recurid property of an entry in RFC 2445. |
|
175 |
*/ |
|
176 |
optional RecurrenceId recurrence_id = 16; |
|
177 | ||
178 |
/** |
|
179 |
* This provides a means to attach a document via URI or binary attachment |
|
180 |
* as string. |
|
181 |
* |
|
182 |
* This field corresponds to the attach property of an entry in RFC 2445. |
|
183 |
*/ |
|
184 |
repeated string attach = 17; |
|
185 | ||
186 |
/** |
|
187 |
* Specifies attendees to this entry. |
|
188 |
* |
|
189 |
* This field corresponds to the attendee property of an entry in RFC 2445. |
|
190 |
*/ |
|
191 |
repeated Attendee attendees = 18; |
|
192 | ||
193 |
/** |
|
194 |
* A list of categories, this entry is associated with. |
|
195 |
* |
|
196 |
* This field corresponds to the categories property of an entry in RFC 2445. |
|
197 |
*/ |
|
198 |
repeated string categories = 19; |
|
199 | ||
200 |
/** |
|
201 |
* Provides a comment to this entry. |
|
202 |
* |
|
203 |
* This field corresponds to the comment property of an entry in RFC 2445. |
|
204 |
*/ |
|
205 |
repeated string comments = 20; |
|
206 | ||
207 |
/** |
|
208 |
* Contact information or reference to contact information. |
|
209 |
* |
|
210 |
* This field corresponds to the contact property of an entry in RFC 2445. |
|
211 |
*/ |
|
212 |
repeated string contacts = 21; |
|
213 | ||
214 |
/** |
|
215 |
* Specifies a set of dates when the entry is. |
|
216 |
* |
|
217 |
* This field corresponds to rdate, rrule, exdate and exrule properties of |
|
218 |
* an entry in RFC 2445. |
|
219 |
*/ |
|
220 |
optional Recurrence recurrence = 22; |
|
221 | ||
222 |
/** |
|
223 |
* Holds the status code of a scheduling request. |
|
224 |
* |
|
225 |
* This field corresponds to the rstatus property of an entry in RFC 2445. |
|
226 |
*/ |
|
227 |
repeated RequestStatus request_status = 23; |
|
228 | ||
229 |
/** |
|
230 |
* Represents relationships to other calendar components. |
|
231 |
* |
|
232 |
* This field corresponds to the related property of an entry in RFC 2445. |
|
233 |
*/ |
|
234 |
repeated Relationship related = 24; |
|
235 | ||
236 |
/** |
|
237 |
* Specifies the equipment or resources needed for this entry. |
|
238 |
* |
|
239 |
* This field corresponds to the resources property of an entry in RFC 2445. |
|
240 |
*/ |
|
241 |
repeated string resources = 25; |
|
242 | ||
243 |
} |
proto/sandbox/rst/calendar/Event.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 |
import "rst/calendar/Entry.proto"; |
|
5 | ||
6 |
option java_outer_classname = "EventType"; |
|
7 | ||
8 |
/** |
|
9 |
* A description of a calendar event following the iCalendar definitions. |
|
10 |
* |
|
11 |
* This message represents a VEVENT component in RFC 2445. |
|
12 |
* |
|
13 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
14 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
15 |
* |
|
16 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
17 |
*/ |
|
18 |
message Event { |
|
19 | ||
20 |
/** |
|
21 |
* The overall status of an event. |
|
22 |
*/ |
|
23 |
enum EventStatus { |
|
24 | ||
25 |
/** |
|
26 |
* Used for tentative events. |
|
27 |
*/ |
|
28 |
TENTATIVE = 1; |
|
29 | ||
30 |
/** |
|
31 |
* Used for confirmed events. |
|
32 |
*/ |
|
33 |
CONFIRMED = 2; |
|
34 | ||
35 |
/** |
|
36 |
* Used for canceled events. |
|
37 |
*/ |
|
38 |
CANCELED = 3; |
|
39 |
} |
|
40 | ||
41 |
/** |
|
42 |
* The transparency of an event. |
|
43 |
*/ |
|
44 |
enum Transparency { |
|
45 | ||
46 |
/** |
|
47 |
* Used for events which do not consume time in the calendar. |
|
48 |
*/ |
|
49 |
TRANSPARENT = 1; |
|
50 | ||
51 |
/** |
|
52 |
* Used for events which actually consume time in the calendar. |
|
53 |
*/ |
|
54 |
OPAQUE = 2; |
|
55 |
} |
|
56 | ||
57 |
/** |
|
58 |
* This field holds all properties that Event has in common with Todo. |
|
59 |
* |
|
60 |
* It corresponds to the following properties: class, created, description, |
|
61 |
* dtstamp, dtstart, geo, last-mod, location, organizer, priority, seq, |
|
62 |
* summary, uid, url, recurid, attach, attendee, categories, comment, |
|
63 |
* contact, exdate, exrule, rstatus, related, resources, rdate and rrule |
|
64 |
* int the VTODO component in RFC 2445. |
|
65 |
*/ |
|
66 |
optional Entry entry = 1; |
|
67 | ||
68 |
/** |
|
69 |
* The overall status of the event. |
|
70 |
* |
|
71 |
* This field corresponds to the status property of VEVENT in RFC 2445. |
|
72 |
*/ |
|
73 |
optional EventStatus event_status = 2 [default = CONFIRMED]; |
|
74 | ||
75 |
/** |
|
76 |
* Specifies whether this event is transparent to busy-time searches or not. |
|
77 |
* |
|
78 |
* This field corresponds to the transp property of VEVENT in RFC 2445. |
|
79 |
* corresponds to TRANSP |
|
80 |
*/ |
|
81 |
optional Transparency transparency = 3 [default = OPAQUE]; |
|
82 | ||
83 |
/** |
|
84 |
* Specifies the date and time when the event ends. |
|
85 |
* Either end_date_time or duration can be specified but not both at the |
|
86 |
* same time. |
|
87 |
* |
|
88 |
* This field corresponds to the dtend property of VEVENT in RFC 2445. |
|
89 |
*/ |
|
90 |
optional DateTime end_date_time = 4; |
|
91 | ||
92 |
/** |
|
93 |
* Specifies the duration of the event in milliseconds. |
|
94 |
* Either end_date_time or duration can be specified but not both at the |
|
95 |
* same time. |
|
96 |
* |
|
97 |
* This field corresponds to the duration property of VEVENT in RFC 2445. |
|
98 |
*/ |
|
99 |
optional sint64 duration = 5; |
|
100 |
} |
proto/sandbox/rst/calendar/Observance.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 |
import "rst/calendar/Recurrence.proto"; |
|
5 | ||
6 |
option java_outer_classname = "ObservanceType"; |
|
7 | ||
8 |
/** |
|
9 |
* A description of a shift in a time zone following the iCalendar definitions. |
|
10 |
* Observances are used to describe standard-daylight changes for a time zone. |
|
11 |
* |
|
12 |
* This message represents a tzprop property in RFC 2445. |
|
13 |
* |
|
14 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
15 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
16 |
* |
|
17 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
18 |
*/ |
|
19 |
message Observance { |
|
20 | ||
21 |
/** |
|
22 |
* This enum tells whether the observance describes a daylight (summer) |
|
23 |
* or standard (winter) time. |
|
24 |
*/ |
|
25 |
enum Type { |
|
26 | ||
27 |
/** |
|
28 |
* An observance setting the time zone to standard (winter) time. |
|
29 |
*/ |
|
30 |
STANDARD = 1; |
|
31 | ||
32 |
/** |
|
33 |
* An observance setting the time zone to daylight (summer) time. |
|
34 |
*/ |
|
35 |
DAYLIGHT = 2; |
|
36 |
} |
|
37 | ||
38 |
/** |
|
39 |
* This field tells of which type this observance is STANDARD (winter) or |
|
40 |
* DAYLIGHT (summer). |
|
41 |
*/ |
|
42 |
required Type type = 3 [default = STANDARD]; |
|
43 | ||
44 |
/** |
|
45 |
* Specifies when the Observance begins (since when it is in use) in |
|
46 |
* utc-time. |
|
47 |
* |
|
48 |
* This field corresponds to dtstart of a tzprop in RFC 2445. |
|
49 |
*/ |
|
50 |
required DateTime start_utc = 4; |
|
51 | ||
52 |
/** |
|
53 |
* Specifies the name of the observance. |
|
54 |
* |
|
55 |
* This field corresponds to tzname of a tzprop in RFC 2445. |
|
56 |
*/ |
|
57 |
optional string name = 6; |
|
58 | ||
59 |
/** |
|
60 |
* Specifies a set of dates when the observance gets active. |
|
61 |
* |
|
62 |
* This field corresponds to rdate and rrule of a tzprop in RFC 2445. |
|
63 |
* |
|
64 |
* The exclude_dates and exclude_rules of this recurrence should be ignored. |
|
65 |
*/ |
|
66 |
optional Recurrence recurrence = 7; |
|
67 | ||
68 |
/** |
|
69 |
* Specifies the time offset in use before the observance is active in |
|
70 |
* milliseconds. |
|
71 |
* |
|
72 |
* This field corresponds to tzoffsetfrom of a tzprop in RFC 2445. |
|
73 |
*/ |
|
74 |
required sint64 offset_from = 8 [default = 0]; |
|
75 | ||
76 |
/** |
|
77 |
* Specifies the time offset in use while observance is active in |
|
78 |
* milliseconds |
|
79 |
* |
|
80 |
* This field corresponds to tzoffsetto of a tzprop in RFC 2445. |
|
81 |
*/ |
|
82 |
required sint64 offset_to = 9 [default = 0]; |
|
83 | ||
84 |
} |
proto/sandbox/rst/calendar/Organizer.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
option java_outer_classname = "OrganizerType"; |
|
4 | ||
5 |
/** |
|
6 |
* A description of a organizer of a calendar component. |
|
7 |
* |
|
8 |
* This message represents a ORGANIZER property in RFC 2445. |
|
9 |
* |
|
10 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
11 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
12 |
* |
|
13 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
14 |
*/ |
|
15 |
message Organizer { |
|
16 | ||
17 |
/** |
|
18 |
* Specifies the organizers calendar user address as URI. |
|
19 |
* Can for example be a MAILTO. |
|
20 |
* |
|
21 |
* This field corresponds to cal-address of an ORGANIZER in RFC 2445. |
|
22 |
*/ |
|
23 |
required string calendar_adress = 1; |
|
24 | ||
25 |
/** |
|
26 |
* Specifies the common or display name of the organizer. |
|
27 |
* |
|
28 |
* This field corresponds to cnparam of an ORGANIZER in RFC 2445. |
|
29 |
*/ |
|
30 |
optional string common_name = 2; |
|
31 | ||
32 |
/** |
|
33 |
* Specifies a reference (uri) to the directory entry associated with the |
|
34 |
* calendar user acting as organizer. |
|
35 |
* |
|
36 |
* This field corresponds to dirparam of an ORGANIZER in RFC 2445. |
|
37 |
*/ |
|
38 |
optional string directory = 3; |
|
39 | ||
40 |
/** |
|
41 |
* Specifies another user that is acting on behalf of the organizer. |
|
42 |
* |
|
43 |
* This field corresponds to sentbyparam of an ORGANIZER in RFC 2445. |
|
44 |
*/ |
|
45 |
optional string sent_by = 4; |
|
46 | ||
47 |
/** |
|
48 |
* Specifies the language as defined in http://www.ietf.org/rfc/rfc1766.txt. |
|
49 |
* If specified the language applies to the common_name field. |
|
50 |
* |
|
51 |
* This field corresponds to languageparam of an ORGANIZER in RFC 2445. |
|
52 |
*/ |
|
53 |
optional string language = 5; |
|
54 | ||
55 |
} |
proto/sandbox/rst/calendar/Recurrence.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 |
import "rst/calendar/RecurrenceRule.proto"; |
|
5 | ||
6 |
option java_outer_classname = "RecurrenceType"; |
|
7 | ||
8 |
/** |
|
9 |
* A description of a recurrence following the iCalendar definitions. |
|
10 |
* can be used to generate a set of dates. |
|
11 |
* |
|
12 |
* The final set of dates is created by combining all dates from |
|
13 |
* recurrence_dates and recurrence_rules and removing all dates generated |
|
14 |
* by exclude_dates and exclude_rules. |
|
15 |
* |
|
16 |
* This message combines a representation of repeating RDATE, RRULE, EXDATE and |
|
17 |
* EXRULE properties in RFC 2445. |
|
18 |
* |
|
19 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
20 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
21 |
* |
|
22 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
23 |
*/ |
|
24 |
message Recurrence { |
|
25 | ||
26 |
/** |
|
27 |
* Specifies a set of specific dates to include. |
|
28 |
* |
|
29 |
* This field represents a set of RDATE in RFC 2445. |
|
30 |
*/ |
|
31 |
repeated DateTime recurrence_dates = 1; |
|
32 | ||
33 |
/** |
|
34 |
* Specifies a set of rules that generate dates to include. |
|
35 |
* |
|
36 |
* This field represents a set of RRULE in RFC 2445. |
|
37 |
*/ |
|
38 |
repeated RecurrenceRule recurrence_rules = 2; |
|
39 | ||
40 |
/** |
|
41 |
* Specifies a set of dates to exclude. |
|
42 |
* |
|
43 |
* This field represents a set of EXDATE in RFC 2445. |
|
44 |
*/ |
|
45 |
repeated DateTime exclude_dates = 3; |
|
46 | ||
47 |
/** |
|
48 |
* Specifies a set of rules that generate dates to exclude. |
|
49 |
* |
|
50 |
* This field represents a set of EXRULE in RFC 2445. |
|
51 |
*/ |
|
52 |
repeated RecurrenceRule exclude_rules = 4; |
|
53 | ||
54 |
} |
proto/sandbox/rst/calendar/RecurrenceId.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 | ||
5 |
option java_outer_classname = "RecurrenceIdType"; |
|
6 | ||
7 |
/** |
|
8 |
* The recurrence id can be used to reference a single component out of a |
|
9 |
* recurring component set. |
|
10 |
* |
|
11 |
* While the UID of a component references its whole recurrence set the |
|
12 |
* combination of the UID with a RecurrenceId can be used to point to a |
|
13 |
* specific instance within this set. |
|
14 |
* |
|
15 |
* This message represents a RECURRENCE-ID property in RFC 2445. |
|
16 |
* |
|
17 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
18 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
19 |
* |
|
20 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
21 |
*/ |
|
22 |
message RecurrenceId { |
|
23 | ||
24 |
/** |
|
25 |
* Specifies whether this RecurrenceId uses a date or a date-time. |
|
26 |
*/ |
|
27 |
enum Type { |
|
28 | ||
29 |
/** |
|
30 |
* Specifies a date and time. |
|
31 |
*/ |
|
32 |
DATE_TIME = 1; |
|
33 | ||
34 |
/** |
|
35 |
* Specifies a date (whole day). |
|
36 |
*/ |
|
37 |
DATE = 2; |
|
38 |
} |
|
39 | ||
40 | ||
41 |
/** |
|
42 |
* Specifies whether this RecurrenceId references a single instance or |
|
43 |
* the same with all prior or future instances. |
|
44 |
* |
|
45 |
* This enum corresponds to the RANGE parameter in RFC 2445. |
|
46 |
*/ |
|
47 |
enum Range { |
|
48 | ||
49 |
/** |
|
50 |
* Specifies a single instance. |
|
51 |
*/ |
|
52 |
SINGLE = 1; |
|
53 | ||
54 |
/** |
|
55 |
* Specifies an instance and all instances following it. |
|
56 |
*/ |
|
57 |
THIS_AND_FUTURE = 2; |
|
58 | ||
59 |
/** |
|
60 |
* Specifies a instance and all instances prior to it. |
|
61 |
*/ |
|
62 |
THIS_AND_PRIOR = 3; |
|
63 |
} |
|
64 | ||
65 |
/** |
|
66 |
* Specifies whether the id should be interpreted as a date with time |
|
67 |
* or as a date, ignoring time. |
|
68 |
* |
|
69 |
* This field corresponds to the VALUE part of a ridparam property RFC 2445. |
|
70 |
*/ |
|
71 |
optional Type type = 1 [default = DATE_TIME]; |
|
72 | ||
73 |
/** |
|
74 |
* Specifies whether a single instance or set is referenced. |
|
75 |
* |
|
76 |
* This field corresponds to the rangeparam part of a ridparam |
|
77 |
* property RFC 2445. |
|
78 |
*/ |
|
79 |
optional Range range = 2 [default = SINGLE]; |
|
80 | ||
81 |
/** |
|
82 |
* Specifies ReferenceId value as a DateTime this should match the date value |
|
83 |
* of an instance in the recurrence set. |
|
84 |
* |
|
85 |
* This field corresponds to the ridval part of a RECURRENCE-ID |
|
86 |
* property RFC 2445. |
|
87 |
*/ |
|
88 |
optional DateTime rid = 3; |
|
89 | ||
90 |
} |
proto/sandbox/rst/calendar/RecurrenceRule.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 | ||
5 |
option java_outer_classname = "RecurrenceRuleType"; |
|
6 | ||
7 |
/** |
|
8 |
* Specifies a rule or repeating pattern for recurring components. |
|
9 |
* |
|
10 |
* This message represents a RECUR property in RFC 2445. |
|
11 |
* |
|
12 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
13 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
14 |
* |
|
15 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
16 |
*/ |
|
17 |
message RecurrenceRule { |
|
18 | ||
19 |
/** |
|
20 |
* This enum defines a frequency of the recurrence (How often does it recur). |
|
21 |
*/ |
|
22 |
enum Frequency { |
|
23 | ||
24 |
/** |
|
25 |
* Every second. |
|
26 |
*/ |
|
27 |
SECONDLY = 1; |
|
28 | ||
29 |
/** |
|
30 |
* Every minute. |
|
31 |
*/ |
|
32 |
MINUTELY = 2; |
|
33 | ||
34 |
/** |
|
35 |
* Every hour. |
|
36 |
*/ |
|
37 |
HOURLY = 3; |
|
38 | ||
39 |
/** |
|
40 |
* Every day. |
|
41 |
*/ |
|
42 |
DAILY = 4; |
|
43 | ||
44 |
/** |
|
45 |
* Every week. |
|
46 |
*/ |
|
47 |
WEEKLY = 5; |
|
48 | ||
49 |
/** |
|
50 |
* Every month. |
|
51 |
*/ |
|
52 |
MONTHLY = 6; |
|
53 | ||
54 |
/** |
|
55 |
* Every year. |
|
56 |
*/ |
|
57 |
YEARLY = 7; |
|
58 | ||
59 |
} |
|
60 | ||
61 |
/** |
|
62 |
* This enum defines a day in within the week. |
|
63 |
*/ |
|
64 |
enum Weekday { |
|
65 | ||
66 |
/** |
|
67 |
* Sunday. |
|
68 |
*/ |
|
69 |
SUNDAY = 1; |
|
70 | ||
71 |
/** |
|
72 |
* Monday. |
|
73 |
*/ |
|
74 |
MONDAY = 2; |
|
75 | ||
76 |
/** |
|
77 |
* Tuesday. |
|
78 |
*/ |
|
79 |
TUESDAY = 3; |
|
80 | ||
81 |
/** |
|
82 |
* Wednesday. |
|
83 |
*/ |
|
84 |
WEDNESDAY = 4; |
|
85 | ||
86 |
/** |
|
87 |
* Thursday. |
|
88 |
*/ |
|
89 |
THURSDAY = 5; |
|
90 | ||
91 |
/** |
|
92 |
* Friday. |
|
93 |
*/ |
|
94 |
FRIDAY = 6; |
|
95 | ||
96 |
/** |
|
97 |
* Saturday. |
|
98 |
*/ |
|
99 |
SATURDAY = 7; |
|
100 |
} |
|
101 | ||
102 |
/** |
|
103 |
* Specifies the end date of the recurrence in utc. Either this or count may |
|
104 |
* be specified but not both at the same time. |
|
105 |
* |
|
106 |
* This field corresponds to the UNTIL part of a recur value in RFC 2445. |
|
107 |
*/ |
|
108 |
optional DateTime until_date_utc = 2; |
|
109 | ||
110 |
/** |
|
111 |
* Specifies the recurrence count. Either this or until_date_utc may |
|
112 |
* be specified but not both at the same time. |
|
113 |
* |
|
114 |
* This field corresponds to the COUNT part of a recur value in RFC 2445. |
|
115 |
*/ |
|
116 |
optional uint32 count = 3; |
|
117 | ||
118 |
/** |
|
119 |
* Specifies the frequency of the recurrence. |
|
120 |
* |
|
121 |
* This field corresponds to the freq part of a recur value in RFC 2445. |
|
122 |
*/ |
|
123 |
required Frequency frequency = 4 [default = YEARLY]; |
|
124 | ||
125 |
/** |
|
126 |
* Tells how often the rule repeats. |
|
127 |
* |
|
128 |
* Example: interval = n and frequency = weekly means every n'th week |
|
129 |
* |
|
130 |
* This field corresponds to the INTERVAL part of a recur value in RFC 2445. |
|
131 |
*/ |
|
132 |
optional uint32 interval = 5 [default = 1]; |
|
133 | ||
134 |
/** |
|
135 |
* A list of occurrence seconds. |
|
136 |
* |
|
137 |
* This field corresponds to the BYSECOND part of a recur value in RFC 2445. |
|
138 |
*/ |
|
139 |
//@constraint(0 <= value < 60) |
|
140 |
repeated uint32 by_second = 6; |
|
141 | ||
142 |
/** |
|
143 |
* A list of occurrence minutes. |
|
144 |
* |
|
145 |
* This field corresponds to the BYMINUTE part of a recur value in RFC 2445. |
|
146 |
*/ |
|
147 |
//@constraint(0 <= value < 60) |
|
148 |
repeated uint32 by_minute = 7; |
|
149 | ||
150 |
/** |
|
151 |
* A list of occurrence hours. |
|
152 |
* |
|
153 |
* This field corresponds to the BYHOUR part of a recur value in RFC 2445. |
|
154 |
*/ |
|
155 |
//@constraint(0 <= value < 24) |
|
156 |
repeated uint32 by_hour = 8; |
|
157 | ||
158 |
/** |
|
159 |
* A list of occurrence weekdays. |
|
160 |
* |
|
161 |
* This field corresponds to the BYDAY part of a recur value in RFC 2445. |
|
162 |
*/ |
|
163 |
repeated Weekday by_week_day = 9; |
|
164 | ||
165 |
/** |
|
166 |
* A list of occurrence days. |
|
167 |
* |
|
168 |
* Example: frequency = MONTHLY, by_week_day = MO and by_day_n = -1 |
|
169 |
* means the last Monday of the month. |
|
170 |
* |
|
171 |
* This field corresponds to the BYDAY part of a recur value in RFC 2445. |
|
172 |
*/ |
|
173 |
repeated sint32 by_day_number = 10; |
|
174 | ||
175 |
/** |
|
176 |
* A list of occurrence days of the month. If by_moth_day is negative, it is |
|
177 |
* counted from the end of the month. |
|
178 |
* |
|
179 |
* This field corresponds to the BYMONTHDAY part of a recur value in RFC 2445. |
|
180 |
*/ |
|
181 |
//@constraint(-31 <= value <= 31) |
|
182 |
repeated sint32 by_month_day = 11; |
|
183 | ||
184 |
/** |
|
185 |
* A list of occurrence days of the year. If by_year_day is negative, it is |
|
186 |
* counted from the end of the year. |
|
187 |
* |
|
188 |
* This field corresponds to the BYYEARDAY part of a recur value in RFC 2445. |
|
189 |
*/ |
|
190 |
//@constraint(-366 <= value <= 366) |
|
191 |
repeated sint32 by_year_day = 12; |
|
192 | ||
193 |
/** |
|
194 |
* A list of occurrence weeks of the year. If by_week_number is negative, |
|
195 |
* it is counted from the end of the year. |
|
196 |
* |
|
197 |
* This field corresponds to the BYWEEKNO part of a recur value in RFC 2445. |
|
198 |
*/ |
|
199 |
//@constraint(-53 <= value <= 53) |
|
200 |
repeated sint32 by_week_number = 13; |
|
201 | ||
202 |
/** |
|
203 |
* A list of occurrence months. If by_month is negative, it is counted |
|
204 |
* from the end of the year. |
|
205 |
* |
|
206 |
* This field corresponds to the BYMONTH part of a recur value in RFC 2445. |
|
207 |
*/ |
|
208 |
//@constraint(1 <= value <= 31) |
|
209 |
repeated uint32 by_month = 14; |
|
210 | ||
211 |
/** |
|
212 |
* Further filters the set by specifying which exact occurrences to use. |
|
213 |
* |
|
214 |
* Example: frequency = MONTHLY, by_week_day=FRIDAY and |
|
215 |
* by_set_pos = -1 specifies the last Friday of the month. |
|
216 |
* |
|
217 |
* This field corresponds to the BYSETPOS part of a recur value in RFC 2445. |
|
218 |
*/ |
|
219 |
repeated sint32 by_set_pos = 15; |
|
220 | ||
221 |
/** |
|
222 |
* Specifies which day is the first day of the week. |
|
223 |
* |
|
224 |
* This field corresponds to the WKST part of a recur value in RFC 2445. |
|
225 |
*/ |
|
226 |
optional Weekday week_start = 16 [default = MONDAY]; |
|
227 | ||
228 |
} |
proto/sandbox/rst/calendar/Relationship.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
option java_outer_classname = "RelationshipType"; |
|
4 | ||
5 |
/** |
|
6 |
* This is used to specify relationships between calendar components. |
|
7 |
* |
|
8 |
* This message represents a RELATED-TO property in RFC 2445. |
|
9 |
* |
|
10 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
11 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
12 |
* |
|
13 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
14 |
*/ |
|
15 |
message Relationship { |
|
16 | ||
17 |
/** |
|
18 |
* Specifies the type of the relationship. |
|
19 |
* |
|
20 |
* This enum represents the possible values of a reltypeparam in RFC 2445. |
|
21 |
*/ |
|
22 |
enum Type { |
|
23 | ||
24 |
/** |
|
25 |
* The component is a subordinate of the referenced component. |
|
26 |
*/ |
|
27 |
PARENT = 1; |
|
28 | ||
29 |
/** |
|
30 |
* The component is a superior of the referenced component. |
|
31 |
*/ |
|
32 |
CHILD = 2; |
|
33 | ||
34 |
/** |
|
35 |
* The component is a peer of the referenced component. |
|
36 |
*/ |
|
37 |
SIBLING = 3; |
|
38 |
} |
|
39 | ||
40 |
/** |
|
41 |
* The type of relationship to the referenced component. |
|
42 |
* |
|
43 |
* |
|
44 |
* This field corresponds to the reltypeparam parameter in RFC 2445. |
|
45 |
*/ |
|
46 |
optional Type relationship_type = 1 [default = PARENT]; |
|
47 | ||
48 |
/** |
|
49 |
* The unique identifier of the related component. This should |
|
50 |
* typically be its uid. |
|
51 |
* |
|
52 |
* This field corresponds to the text part of related property in RFC 2445. |
|
53 |
*/ |
|
54 |
required string uid = 2; |
|
55 | ||
56 |
} |
proto/sandbox/rst/calendar/RequestStatus.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
option java_outer_classname = "RequestStatusType"; |
|
4 | ||
5 |
/** |
|
6 |
* A description of a status code used in scheduling requests. |
|
7 |
* |
|
8 |
* This message represents a REQUEST-STATUS property in RFC 2445. |
|
9 |
* |
|
10 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
11 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
12 |
* |
|
13 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
14 |
*/ |
|
15 |
message RequestStatus { |
|
16 | ||
17 |
/** |
|
18 |
* Specifies the language used in the status code as defined in |
|
19 |
* http://www.ietf.org/rfc/rfc1766.txt. |
|
20 |
* |
|
21 |
* This field corresponds to the languageparm parameter of REQUEST-STATUS |
|
22 |
* in RFC 2445. |
|
23 |
*/ |
|
24 |
optional string language = 1; |
|
25 | ||
26 |
/** |
|
27 |
* A hierarchical numeric status code as string. |
|
28 |
* 3-tuple of integers separated by a period character. |
|
29 |
* example: "3.1.2" |
|
30 |
* |
|
31 |
* The level of the integer corresponds to the level of status code |
|
32 |
* granularity (least granularity to highest from left to right). |
|
33 |
* |
|
34 |
* The return status interpretation of the leftmost integer is following: |
|
35 |
* 1.xx preliminary success, completion is pending |
|
36 |
* 2.xx completed successfully |
|
37 |
* 3.xx not successful, error in the syntax or semantic of the request |
|
38 |
* 4.xx scheduling error, an error occurred within the calendaring service |
|
39 |
* not directly related to the request itself. |
|
40 |
* |
|
41 |
* This field corresponds to the statcode parameter of REQUEST-STATUS |
|
42 |
* in RFC 2445. |
|
43 |
*/ |
|
44 |
required string status_code = 2; |
|
45 | ||
46 |
/** |
|
47 |
* A status description text. |
|
48 |
* |
|
49 |
* This field corresponds to the statdesc parameter of REQUEST-STATUS |
|
50 |
* in RFC 2445. |
|
51 |
*/ |
|
52 |
required string status_description = 3; |
|
53 | ||
54 |
/** |
|
55 |
* Exception data as text. Can be the offending property name and value or |
|
56 |
* a complete property line. |
|
57 |
* |
|
58 |
* This field corresponds to the extdata parameter of REQUEST-STATUS |
|
59 |
* in RFC 2445. |
|
60 |
*/ |
|
61 |
required string exception_text_data = 4; |
|
62 | ||
63 |
} |
proto/sandbox/rst/calendar/TimeZone.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 |
import "rst/calendar/Observance.proto"; |
|
5 | ||
6 |
option java_outer_classname = "TimeZoneType"; |
|
7 | ||
8 |
/** |
|
9 |
* A description of a TimeZone following the icalendar definitions. |
|
10 |
* The TimeZone must at least hold it timezone_id and one standards or daylights |
|
11 |
* Observance. |
|
12 |
* |
|
13 |
* This message represents a VTIMEZONE component in RFC 2445. |
|
14 |
* |
|
15 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
16 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
17 |
* |
|
18 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
19 |
*/ |
|
20 |
//@constraint(len(.standards) + len(.daylights) > 0) |
|
21 |
message TimeZone { |
|
22 | ||
23 |
/** |
|
24 |
* The id of the time zone. This should be unique. |
|
25 |
* |
|
26 |
* This field corresponds to the tzid parameter of VTIMEZONE in RFC 2445. |
|
27 |
*/ |
|
28 |
required string timezone_id = 1; |
|
29 | ||
30 |
/** |
|
31 |
* Specifies when the time zone was modified the last time in utc time. |
|
32 |
* |
|
33 |
* More precisely: Tells when this time zone data was last modified |
|
34 |
* in the calendar store. |
|
35 |
* |
|
36 |
* This field corresponds to the last-mod parameter of VTIMEZONE in RFC 2445. |
|
37 |
*/ |
|
38 |
//@constraint(value.type == DateTime.Type.UTC) |
|
39 |
optional DateTime last_modified_utc = 2; |
|
40 | ||
41 |
/** |
|
42 |
* Specifies a network location where an up to date version of this time zone |
|
43 |
* can be retrieved. |
|
44 |
* |
|
45 |
* This field corresponds to the tzurl parameter of VTIMEZONE in RFC 2445. |
|
46 |
*/ |
|
47 |
optional string timezone_url = 3; |
|
48 | ||
49 |
/** |
|
50 |
* The location to which this time zone applies. This can define where the |
|
51 |
* TimeZone is applied. |
|
52 |
* |
|
53 |
* Example: "Europe/Berlin" for the TimeZone that is used in Berlin, |
|
54 |
* in Germany |
|
55 |
* |
|
56 |
* This is a field corresponding to X-LIC-LOCATION, which is not in RFC 2445. |
|
57 |
*/ |
|
58 |
optional string x_location = 4; |
|
59 | ||
60 |
/** |
|
61 |
* A collection of standard-observances for this TimeZone. Defines all its |
|
62 |
* 'winter' times. |
|
63 |
* |
|
64 |
* This field corresponds to the standardc parameter of VTIMEZONE in |
|
65 |
* RFC 2445. |
|
66 |
*/ |
|
67 |
repeated Observance standards = 5; |
|
68 | ||
69 |
/** |
|
70 |
* A collection of daylight-observances for this TimeZone. Defines all its |
|
71 |
* 'summer' times. |
|
72 |
* |
|
73 |
* This field corresponds to the daylightc parameter of VTIMEZONE in |
|
74 |
* RFC 2445. |
|
75 |
*/ |
|
76 |
repeated Observance daylights = 6; |
|
77 | ||
78 |
} |
proto/sandbox/rst/calendar/Todo.proto | ||
---|---|---|
1 |
package rst.calendar; |
|
2 | ||
3 |
import "rst/calendar/DateTime.proto"; |
|
4 |
import "rst/calendar/Entry.proto"; |
|
5 | ||
6 |
option java_outer_classname = "TodoType"; |
|
7 | ||
8 |
/** |
|
9 |
* A description of an calendar todo following the icalendar definitions. |
|
10 |
* |
|
11 |
* This message represents a VTODO component in RFC 2445. |
|
12 |
* |
|
13 |
* For a documentation of the RFC 2445 iCalendar specification visit |
|
14 |
* http://www.ietf.org/rfc/rfc2445.txt |
|
15 |
* |
|
16 |
* @author Viktor Richter <vrichter@techfak.uni-bielefeld.de> |
|
17 |
*/ |
|
18 |
message Todo { |
|
19 | ||
20 |
/** |
|
21 |
* The overall status of a todo. |
|
22 |
*/ |
|
23 |
enum TodoStatus { |
|
24 | ||
25 |
/** |
|
26 |
* Used for todos that need an action. |
|
27 |
*/ |
|
28 |
NEEDS_ACTION = 1; |
|
29 | ||
30 |
/** |
|
31 |
* Used for completed todos. |
|
32 |
*/ |
|
33 |
COMPLETED = 2; |
|
34 | ||
35 |
/** |
|
36 |
* Used for todos that are currently in process of. |
|
37 |
*/ |
|
38 |
IN_PROCESS = 3; |
|
39 | ||
40 |
/** |
|
41 |
* Used for canceled todos. |
|
42 |
*/ |
|
43 |
CANCELED = 4; |
|
44 |
} |