~ubuntu-branches/ubuntu/saucy/zeitgeist/saucy

« back to all changes in this revision

Viewing changes to src/ontology.vala

  • Committer: Luke Yelavich
  • Date: 2013-06-26 00:25:54 UTC
  • mfrom: (28.1.2 zeitgeist)
  • Revision ID: luke.yelavich@canonical.com-20130626002554-k570ix39vjum9v9p
Tags: 0.9.14-0ubuntu1
Merge branch lp:~zeitgeist/zeitgeist/saucy-packaging-0-9-14

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// This file has been auto-generated by the ontology2code script.
2
 
// Do not modify it directly.
3
 
 
4
 
/* ontology.vala
5
 
 *
6
 
 * Copyright © 2011 Collabora Ltd.
7
 
 *             By Seif Lotfy <seif@lotfy.com>
8
 
 *             By Siegfried-Angel Gevatter Pujals <siegfried@gevatter.com>
9
 
 * Copyright © 2011 Michal Hruby <michal.mhr@gmail.com>
10
 
 *
11
 
 * This program is free software: you can redistribute it and/or modify
12
 
 * it under the terms of the GNU Lesser General Public License as published by
13
 
 * the Free Software Foundation, either version 2.1 of the License, or
14
 
 * (at your option) any later version.
15
 
 *
16
 
 * This program is distributed in the hope that it will be useful,
17
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 
 * GNU General Public License for more details.
20
 
 *
21
 
 * You should have received a copy of the GNU Lesser General Public License
22
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23
 
 *
24
 
 */
25
 
 
26
 
namespace Zeitgeist
27
 
{
28
 
 
29
 
    namespace Symbol
30
 
    {
31
 
        private static HashTable<string, Info> all_symbols = null;
32
 
        private static bool initialized = false;
33
 
 
34
 
        public static unowned string get_display_name (string symbol_uri)
35
 
        {
36
 
            initialize_symbols ();
37
 
 
38
 
            var symbol = all_symbols.lookup (symbol_uri);
39
 
            if (symbol == null) return symbol_uri;
40
 
 
41
 
            return symbol.display_name;
42
 
        }
43
 
 
44
 
        public static unowned string get_description(string symbol_uri)
45
 
        {
46
 
            initialize_symbols ();
47
 
 
48
 
            var symbol = all_symbols.lookup (symbol_uri);
49
 
            if (symbol == null) return "";
50
 
 
51
 
            return symbol.description;
52
 
        }
53
 
 
54
 
        public static List<unowned string> get_all_parents(string symbol_uri)
55
 
        {
56
 
            initialize_symbols ();
57
 
 
58
 
            var results = new List<string> ();
59
 
            var symbol = all_symbols.lookup (symbol_uri);
60
 
            if (symbol == null) return results;
61
 
 
62
 
            foreach (unowned string uri in symbol.parents)
63
 
            {
64
 
                results.append (uri);
65
 
                // Recursively get the other parents
66
 
                foreach (string parent_uri in get_all_parents (uri))
67
 
                    if (results.index (parent_uri) > -1)
68
 
                        results.append (parent_uri);
69
 
            }
70
 
 
71
 
            return results;
72
 
        }
73
 
 
74
 
        public static List<unowned string> get_all_children (string symbol_uri)
75
 
        {
76
 
            initialize_symbols ();
77
 
 
78
 
            var results = new List<string> ();
79
 
            var symbol = all_symbols.lookup (symbol_uri);
80
 
            if (symbol == null) return results;
81
 
 
82
 
            foreach (unowned string uri in symbol.all_children)
83
 
                results.append (uri);
84
 
 
85
 
            return results;
86
 
        }
87
 
 
88
 
        public static List<unowned string> get_children (string symbol_uri)
89
 
        {
90
 
            initialize_symbols ();
91
 
            var results = new List<string> ();
92
 
            var symbol = all_symbols.lookup (symbol_uri);
93
 
            if (symbol == null) return results;
94
 
 
95
 
            foreach (unowned string uri in symbol.children)
96
 
                results.append(uri);
97
 
 
98
 
            return results;
99
 
        }
100
 
 
101
 
        public static List<unowned string> get_parents (string symbol_uri)
102
 
        {
103
 
            initialize_symbols ();
104
 
 
105
 
            var results = new List<string>();
106
 
            var symbol = all_symbols.lookup (symbol_uri);
107
 
            if (symbol == null) return results;
108
 
 
109
 
            foreach (unowned string uri in symbol.parents)
110
 
                results.append (uri);
111
 
 
112
 
            return results;
113
 
        }
114
 
 
115
 
        public static bool is_a (string symbol_uri, string parent_uri)
116
 
        {
117
 
            initialize_symbols ();
118
 
 
119
 
            foreach (unowned string uri in get_all_parents (symbol_uri))
120
 
                if (parent_uri == uri)
121
 
                    return true;
122
 
            return false;
123
 
        }
124
 
 
125
 
        private static void initialize_symbols ()
126
 
        {
127
 
            if (initialized) return;
128
 
            initialized = true;
129
 
            string uri, display_name, description;
130
 
            string[] parents, children, all_children;
131
 
 
132
 
            uri = Zeitgeist.NCAL.ALARM;
133
 
            description = "Provide a grouping of component properties that define an alarm.";
134
 
            display_name = "Alarm";
135
 
            parents = { NIE.INFORMATION_ELEMENT };
136
 
            children = {  };
137
 
            all_children = {  };
138
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
139
 
 
140
 
            uri = Zeitgeist.NCAL.ATTACHMENT;
141
 
            description = "An object attached to a calendar entity. This class has been introduced to serve as a structured value of the ncal:attach property. See the documentation of ncal:attach for details.";
142
 
            display_name = "Attachment";
143
 
            parents = { NFO.ATTACHMENT };
144
 
            children = {  };
145
 
            all_children = {  };
146
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
147
 
 
148
 
            uri = Zeitgeist.NCAL.CALENDAR;
149
 
            description = "A calendar. Inspirations for this class can be traced to the VCALENDAR component defined in RFC 2445 sec. 4.4, but it may just as well be used to represent any kind of Calendar.";
150
 
            display_name = "Calendar";
151
 
            parents = { NIE.INFORMATION_ELEMENT };
152
 
            children = {  };
153
 
            all_children = {  };
154
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
155
 
 
156
 
            uri = Zeitgeist.NCAL.CALENDAR_DATA_OBJECT;
157
 
            description = "A DataObject found in a calendar. It is usually interpreted as one of the calendar entity types (e.g. Event, Journal, Todo etc.)";
158
 
            display_name = "CalendarDataObject";
159
 
            parents = { NIE.DATA_OBJECT };
160
 
            children = {  };
161
 
            all_children = {  };
162
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
163
 
 
164
 
            uri = Zeitgeist.NCAL.EVENT;
165
 
            description = "Provide a grouping of component properties that describe an event.";
166
 
            display_name = "Event";
167
 
            parents = { NIE.INFORMATION_ELEMENT };
168
 
            children = {  };
169
 
            all_children = {  };
170
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
171
 
 
172
 
            uri = Zeitgeist.NCAL.FREEBUSY;
173
 
            description = "Provide a grouping of component properties that describe either a request for free/busy time, describe a response to a request for free/busy time or describe a published set of busy time.";
174
 
            display_name = "Freebusy";
175
 
            parents = { NIE.INFORMATION_ELEMENT };
176
 
            children = {  };
177
 
            all_children = {  };
178
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
179
 
 
180
 
            uri = Zeitgeist.NCAL.JOURNAL;
181
 
            description = "Provide a grouping of component properties that describe a journal entry.";
182
 
            display_name = "Journal";
183
 
            parents = { NIE.INFORMATION_ELEMENT };
184
 
            children = {  };
185
 
            all_children = {  };
186
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
187
 
 
188
 
            uri = Zeitgeist.NCAL.TIMEZONE;
189
 
            description = "Provide a grouping of component properties that defines a time zone.";
190
 
            display_name = "Timezone";
191
 
            parents = { NIE.INFORMATION_ELEMENT };
192
 
            children = {  };
193
 
            all_children = {  };
194
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
195
 
 
196
 
            uri = Zeitgeist.NCAL.TODO;
197
 
            description = "Provide a grouping of calendar properties that describe a to-do.";
198
 
            display_name = "Todo";
199
 
            parents = { NIE.INFORMATION_ELEMENT };
200
 
            children = {  };
201
 
            all_children = {  };
202
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
203
 
 
204
 
            uri = Zeitgeist.NCO.CONTACT;
205
 
            description = "A Contact. A piece of data that can provide means to identify or communicate with an entity.";
206
 
            display_name = "Contact";
207
 
            parents = { NIE.INFORMATION_ELEMENT };
208
 
            children = { NCO.PERSON_CONTACT, NCO.ORGANIZATION_CONTACT };
209
 
            all_children = { NCO.PERSON_CONTACT, NCO.ORGANIZATION_CONTACT };
210
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
211
 
 
212
 
            uri = Zeitgeist.NCO.CONTACT_GROUP;
213
 
            description = "A group of Contacts. Could be used to express a group in an addressbook or on a contact list of an IM application. One contact can belong to many groups.";
214
 
            display_name = "ContactGroup";
215
 
            parents = { NIE.INFORMATION_ELEMENT };
216
 
            children = {  };
217
 
            all_children = {  };
218
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
219
 
 
220
 
            uri = Zeitgeist.NCO.CONTACT_LIST;
221
 
            description = "A contact list, this class represents an addressbook or a contact list of an IM application. Contacts inside a contact list can belong to contact groups.";
222
 
            display_name = "ContactList";
223
 
            parents = { NIE.INFORMATION_ELEMENT };
224
 
            children = {  };
225
 
            all_children = {  };
226
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
227
 
 
228
 
            uri = Zeitgeist.NCO.CONTACT_LIST_DATA_OBJECT;
229
 
            description = "An entity occuring on a contact list (usually interpreted as an nco:Contact)";
230
 
            display_name = "ContactListDataObject";
231
 
            parents = { NIE.DATA_OBJECT };
232
 
            children = {  };
233
 
            all_children = {  };
234
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
235
 
 
236
 
            uri = Zeitgeist.NCO.ORGANIZATION_CONTACT;
237
 
            description = "A Contact that denotes on Organization.";
238
 
            display_name = "OrganizationContact";
239
 
            parents = { NCO.CONTACT };
240
 
            children = {  };
241
 
            all_children = {  };
242
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
243
 
 
244
 
            uri = Zeitgeist.NCO.PERSON_CONTACT;
245
 
            description = "A Contact that denotes a Person. A person can have multiple Affiliations.";
246
 
            display_name = "PersonContact";
247
 
            parents = { NCO.CONTACT };
248
 
            children = {  };
249
 
            all_children = {  };
250
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
251
 
 
252
 
            uri = Zeitgeist.NFO.APPLICATION;
253
 
            description = "An application";
254
 
            display_name = "Application";
255
 
            parents = { NFO.SOFTWARE };
256
 
            children = {  };
257
 
            all_children = {  };
258
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
259
 
 
260
 
            uri = Zeitgeist.NFO.ARCHIVE;
261
 
            description = "A compressed file. May contain other files or folder inside.";
262
 
            display_name = "Archive";
263
 
            parents = { NFO.DATA_CONTAINER };
264
 
            children = {  };
265
 
            all_children = {  };
266
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
267
 
 
268
 
            uri = Zeitgeist.NFO.ARCHIVE_ITEM;
269
 
            description = "A file entity inside an archive.";
270
 
            display_name = "ArchiveItem";
271
 
            parents = { NFO.EMBEDDED_FILE_DATA_OBJECT };
272
 
            children = {  };
273
 
            all_children = {  };
274
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
275
 
 
276
 
            uri = Zeitgeist.NFO.ATTACHMENT;
277
 
            description = "A file attached to another data object. Many data formats allow for attachments: emails, vcards, ical events, id3 and exif...";
278
 
            display_name = "Attachment";
279
 
            parents = { NFO.EMBEDDED_FILE_DATA_OBJECT };
280
 
            children = { NCAL.ATTACHMENT };
281
 
            all_children = { NCAL.ATTACHMENT };
282
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
283
 
 
284
 
            uri = Zeitgeist.NFO.AUDIO;
285
 
            description = "A file containing audio content";
286
 
            display_name = "Audio";
287
 
            parents = { NFO.MEDIA };
288
 
            children = { NMM.MUSIC_PIECE };
289
 
            all_children = { NMM.MUSIC_PIECE };
290
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
291
 
 
292
 
            uri = Zeitgeist.NFO.BOOKMARK;
293
 
            description = "A bookmark of a webbrowser. Use nie:title for the name/label, nie:contentCreated to represent the date when the user added the bookmark, and nie:contentLastModified for modifications. nfo:bookmarks to store the link.";
294
 
            display_name = "Bookmark";
295
 
            parents = { NIE.INFORMATION_ELEMENT };
296
 
            children = {  };
297
 
            all_children = {  };
298
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
299
 
 
300
 
            uri = Zeitgeist.NFO.BOOKMARK_FOLDER;
301
 
            description = "A folder with bookmarks of a webbrowser. Use nfo:containsBookmark to relate Bookmarks. Folders can contain subfolders, use containsBookmarkFolder to relate them.";
302
 
            display_name = "Bookmark Folder";
303
 
            parents = { NIE.INFORMATION_ELEMENT };
304
 
            children = {  };
305
 
            all_children = {  };
306
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
307
 
 
308
 
            uri = Zeitgeist.NFO.CURSOR;
309
 
            description = "A Cursor.";
310
 
            display_name = "Cursor";
311
 
            parents = { NFO.RASTER_IMAGE };
312
 
            children = {  };
313
 
            all_children = {  };
314
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
315
 
 
316
 
            uri = Zeitgeist.NFO.DATA_CONTAINER;
317
 
            description = "A superclass for all entities, whose primary purpose is to serve as containers for other data object. They usually don't have any \"meaning\" by themselves. Examples include folders, archives and optical disc images.";
318
 
            display_name = "DataContainer";
319
 
            parents = { NIE.INFORMATION_ELEMENT };
320
 
            children = { NFO.FILESYSTEM, NFO.ARCHIVE, NFO.FOLDER, NFO.TRASH };
321
 
            all_children = { NFO.FILESYSTEM, NFO.ARCHIVE, NFO.FOLDER, NFO.TRASH, NFO.FILESYSTEM_IMAGE };
322
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
323
 
 
324
 
            uri = Zeitgeist.NFO.DELETED_RESOURCE;
325
 
            description = "A file entity that has been deleted from the original source. Usually such entities are stored within various kinds of 'Trash' or 'Recycle Bin' folders.";
326
 
            display_name = "DeletedResource";
327
 
            parents = { NFO.FILE_DATA_OBJECT };
328
 
            children = {  };
329
 
            all_children = {  };
330
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
331
 
 
332
 
            uri = Zeitgeist.NFO.DOCUMENT;
333
 
            description = "A generic document. A common superclass for all documents on the desktop.";
334
 
            display_name = "Document";
335
 
            parents = { NIE.INFORMATION_ELEMENT };
336
 
            children = { NFO.TEXT_DOCUMENT, NFO.PRESENTATION, NFO.MIND_MAP, NFO.SPREADSHEET };
337
 
            all_children = { NFO.SOURCE_CODE, NFO.SPREADSHEET, NFO.PAGINATED_TEXT_DOCUMENT, NFO.TEXT_DOCUMENT, NFO.HTML_DOCUMENT, NFO.MIND_MAP, NFO.PLAIN_TEXT_DOCUMENT, NFO.PRESENTATION };
338
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
339
 
 
340
 
            uri = Zeitgeist.NFO.EMBEDDED_FILE_DATA_OBJECT;
341
 
            description = "A file embedded in another data object. There are many ways in which a file may be embedded in another one. Use this class directly only in cases if none of the subclasses gives a better description of your case.";
342
 
            display_name = "EmbeddedFileDataObject";
343
 
            parents = { NFO.FILE_DATA_OBJECT };
344
 
            children = { NFO.ARCHIVE_ITEM, NFO.ATTACHMENT };
345
 
            all_children = { NFO.ARCHIVE_ITEM, NCAL.ATTACHMENT, NFO.ATTACHMENT };
346
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
347
 
 
348
 
            uri = Zeitgeist.NFO.EXECUTABLE;
349
 
            description = "An executable file.";
350
 
            display_name = "Executable";
351
 
            parents = { NIE.INFORMATION_ELEMENT };
352
 
            children = {  };
353
 
            all_children = {  };
354
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
355
 
 
356
 
            uri = Zeitgeist.NFO.FILESYSTEM;
357
 
            description = "A filesystem. Examples of filesystems include hard disk partitions, removable media, but also images thereof stored in files such as ISO.";
358
 
            display_name = "Filesystem";
359
 
            parents = { NFO.DATA_CONTAINER };
360
 
            children = { NFO.FILESYSTEM_IMAGE };
361
 
            all_children = { NFO.FILESYSTEM_IMAGE };
362
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
363
 
 
364
 
            uri = Zeitgeist.NFO.FILESYSTEM_IMAGE;
365
 
            description = "An image of a filesystem. Instances of this class may include CD images, DVD images or hard disk partition images created by various pieces of software (e.g. Norton Ghost). Deprecated in favor of nfo:Filesystem.";
366
 
            display_name = "FilesystemImage";
367
 
            parents = { NFO.FILESYSTEM };
368
 
            children = {  };
369
 
            all_children = {  };
370
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
371
 
 
372
 
            uri = Zeitgeist.NFO.FILE_DATA_OBJECT;
373
 
            description = "A resource containing a finite sequence of bytes with arbitrary information, that is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished.";
374
 
            display_name = "file";
375
 
            parents = { NIE.DATA_OBJECT };
376
 
            children = { NFO.EMBEDDED_FILE_DATA_OBJECT, NFO.DELETED_RESOURCE, NFO.REMOTE_DATA_OBJECT };
377
 
            all_children = { NFO.ARCHIVE_ITEM, NFO.EMBEDDED_FILE_DATA_OBJECT, NCAL.ATTACHMENT, NFO.REMOTE_DATA_OBJECT, NFO.ATTACHMENT, NFO.DELETED_RESOURCE };
378
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
379
 
 
380
 
            uri = Zeitgeist.NFO.FOLDER;
381
 
            description = "A folder/directory. Examples of folders include folders on a filesystem and message folders in a mailbox.";
382
 
            display_name = "Folder";
383
 
            parents = { NFO.DATA_CONTAINER };
384
 
            children = {  };
385
 
            all_children = {  };
386
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
387
 
 
388
 
            uri = Zeitgeist.NFO.FONT;
389
 
            description = "A font.";
390
 
            display_name = "Font";
391
 
            parents = { NIE.INFORMATION_ELEMENT };
392
 
            children = {  };
393
 
            all_children = {  };
394
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
395
 
 
396
 
            uri = Zeitgeist.NFO.HARD_DISK_PARTITION;
397
 
            description = "A partition on a hard disk";
398
 
            display_name = "HardDiskPartition";
399
 
            parents = { NIE.DATA_OBJECT };
400
 
            children = {  };
401
 
            all_children = {  };
402
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
403
 
 
404
 
            uri = Zeitgeist.NFO.HTML_DOCUMENT;
405
 
            description = "A HTML document, may contain links to other files.";
406
 
            display_name = "HtmlDocument";
407
 
            parents = { NFO.PLAIN_TEXT_DOCUMENT };
408
 
            children = {  };
409
 
            all_children = {  };
410
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
411
 
 
412
 
            uri = Zeitgeist.NFO.ICON;
413
 
            description = "An Icon (regardless of whether it's a raster or a vector icon. A resource representing an icon could have two types (Icon and Raster, or Icon and Vector) if required.";
414
 
            display_name = "Icon";
415
 
            parents = { NFO.IMAGE };
416
 
            children = {  };
417
 
            all_children = {  };
418
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
419
 
 
420
 
            uri = Zeitgeist.NFO.IMAGE;
421
 
            description = "A file containing an image.";
422
 
            display_name = "Image";
423
 
            parents = { NFO.VISUAL };
424
 
            children = { NFO.ICON, NFO.VECTOR_IMAGE, NFO.RASTER_IMAGE };
425
 
            all_children = { NFO.ICON, NFO.VECTOR_IMAGE, NFO.CURSOR, NFO.RASTER_IMAGE };
426
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
427
 
 
428
 
            uri = Zeitgeist.NFO.MEDIA;
429
 
            description = "A piece of media content. This class may be used to express complex media containers with many streams of various media content (both aural and visual).";
430
 
            display_name = "Media";
431
 
            parents = { NIE.INFORMATION_ELEMENT };
432
 
            children = { NFO.VISUAL, NFO.AUDIO };
433
 
            all_children = { NMM.TVSHOW, NFO.AUDIO, NMM.MUSIC_PIECE, NFO.VIDEO, NMM.MOVIE, NFO.VISUAL, NFO.CURSOR, NFO.ICON, NFO.RASTER_IMAGE, NFO.IMAGE, NFO.VECTOR_IMAGE };
434
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
435
 
 
436
 
            uri = Zeitgeist.NFO.MEDIA_LIST;
437
 
            description = "A file containing a list of media files.e.g. a playlist";
438
 
            display_name = "MediaList";
439
 
            parents = { NIE.INFORMATION_ELEMENT };
440
 
            children = { NMM.MUSIC_ALBUM };
441
 
            all_children = { NMM.MUSIC_ALBUM };
442
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
443
 
 
444
 
            uri = Zeitgeist.NFO.MEDIA_STREAM;
445
 
            description = "A stream of multimedia content, usually contained within a media container such as a movie (containing both audio and video) or a DVD (possibly containing many streams of audio and video). Most common interpretations for such a DataObject include Audio and Video.";
446
 
            display_name = "MediaStream";
447
 
            parents = { NIE.DATA_OBJECT };
448
 
            children = {  };
449
 
            all_children = {  };
450
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
451
 
 
452
 
            uri = Zeitgeist.NFO.MIND_MAP;
453
 
            description = "A MindMap, created by a mind-mapping utility. Examples might include FreeMind or mind mapper.";
454
 
            display_name = "MindMap";
455
 
            parents = { NFO.DOCUMENT };
456
 
            children = {  };
457
 
            all_children = {  };
458
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
459
 
 
460
 
            uri = Zeitgeist.NFO.OPERATING_SYSTEM;
461
 
            description = "An OperatingSystem";
462
 
            display_name = "OperatingSystem";
463
 
            parents = { NFO.SOFTWARE };
464
 
            children = {  };
465
 
            all_children = {  };
466
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
467
 
 
468
 
            uri = Zeitgeist.NFO.PAGINATED_TEXT_DOCUMENT;
469
 
            description = "A file containing a text document, that is unambiguously divided into pages. Examples might include PDF, DOC, PS, DVI etc.";
470
 
            display_name = "PaginatedTextDocument";
471
 
            parents = { NFO.TEXT_DOCUMENT };
472
 
            children = {  };
473
 
            all_children = {  };
474
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
475
 
 
476
 
            uri = Zeitgeist.NFO.PLAIN_TEXT_DOCUMENT;
477
 
            description = "A file containing plain text (ASCII, Unicode or other encodings). Examples may include TXT, HTML, XML, program source code etc.";
478
 
            display_name = "PlainTextDocument";
479
 
            parents = { NFO.TEXT_DOCUMENT };
480
 
            children = { NFO.SOURCE_CODE, NFO.HTML_DOCUMENT };
481
 
            all_children = { NFO.SOURCE_CODE, NFO.HTML_DOCUMENT };
482
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
483
 
 
484
 
            uri = Zeitgeist.NFO.PRESENTATION;
485
 
            description = "A Presentation made by some presentation software (Corel Presentations, OpenOffice Impress, MS Powerpoint etc.)";
486
 
            display_name = "Presentation";
487
 
            parents = { NFO.DOCUMENT };
488
 
            children = {  };
489
 
            all_children = {  };
490
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
491
 
 
492
 
            uri = Zeitgeist.NFO.RASTER_IMAGE;
493
 
            description = "A raster image.";
494
 
            display_name = "RasterImage";
495
 
            parents = { NFO.IMAGE };
496
 
            children = { NFO.CURSOR };
497
 
            all_children = { NFO.CURSOR };
498
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
499
 
 
500
 
            uri = Zeitgeist.NFO.REMOTE_DATA_OBJECT;
501
 
            description = "A file data object stored at a remote location. Don't confuse this class with a RemotePortAddress. This one applies to a particular resource, RemotePortAddress applies to an address, that can have various interpretations.";
502
 
            display_name = "RemoteDataObject";
503
 
            parents = { NFO.FILE_DATA_OBJECT };
504
 
            children = {  };
505
 
            all_children = {  };
506
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
507
 
 
508
 
            uri = Zeitgeist.NFO.REMOTE_PORT_ADDRESS;
509
 
            description = "An address specifying a remote host and port. Such an address can be interpreted in many ways (examples of such interpretations include mailboxes, websites, remote calendars or filesystems), depending on an interpretation, various kinds of data may be extracted from such an address.";
510
 
            display_name = "RemotePortAddress";
511
 
            parents = { NIE.DATA_OBJECT };
512
 
            children = {  };
513
 
            all_children = {  };
514
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
515
 
 
516
 
            uri = Zeitgeist.NFO.SOFTWARE;
517
 
            description = "A piece of software. Examples may include applications and the operating system. This interpretation most commonly applies to SoftwareItems.";
518
 
            display_name = "Software";
519
 
            parents = { NIE.INFORMATION_ELEMENT };
520
 
            children = { NFO.OPERATING_SYSTEM, NFO.APPLICATION };
521
 
            all_children = { NFO.APPLICATION, NFO.OPERATING_SYSTEM };
522
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
523
 
 
524
 
            uri = Zeitgeist.NFO.SOFTWARE_ITEM;
525
 
            description = "A DataObject representing a piece of software. Examples of interpretations of a SoftwareItem include an Application and an OperatingSystem.";
526
 
            display_name = "SoftwareItem";
527
 
            parents = { NIE.DATA_OBJECT };
528
 
            children = {  };
529
 
            all_children = {  };
530
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
531
 
 
532
 
            uri = Zeitgeist.NFO.SOFTWARE_SERVICE;
533
 
            description = "A service published by a piece of software, either by an operating system or an application. Examples of such services may include calendar, addressbook and mailbox managed by a PIM application. This category is introduced to distinguish between data available directly from the applications (Via some Interprocess Communication Mechanisms) and data available from files on a disk. In either case both DataObjects would receive a similar interpretation (e.g. a Mailbox) and wouldn't differ on the content level.";
534
 
            display_name = "SoftwareService";
535
 
            parents = { NIE.DATA_OBJECT };
536
 
            children = {  };
537
 
            all_children = {  };
538
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
539
 
 
540
 
            uri = Zeitgeist.NFO.SOURCE_CODE;
541
 
            description = "Code in a compilable or interpreted programming language.";
542
 
            display_name = "SourceCode";
543
 
            parents = { NFO.PLAIN_TEXT_DOCUMENT };
544
 
            children = {  };
545
 
            all_children = {  };
546
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
547
 
 
548
 
            uri = Zeitgeist.NFO.SPREADSHEET;
549
 
            description = "A spreadsheet, created by a spreadsheet application. Examples might include Gnumeric, OpenOffice Calc or MS Excel.";
550
 
            display_name = "Spreadsheet";
551
 
            parents = { NFO.DOCUMENT };
552
 
            children = {  };
553
 
            all_children = {  };
554
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
555
 
 
556
 
            uri = Zeitgeist.NFO.TEXT_DOCUMENT;
557
 
            description = "A text document";
558
 
            display_name = "TextDocument";
559
 
            parents = { NFO.DOCUMENT };
560
 
            children = { NFO.PAGINATED_TEXT_DOCUMENT, NFO.PLAIN_TEXT_DOCUMENT };
561
 
            all_children = { NFO.SOURCE_CODE, NFO.HTML_DOCUMENT, NFO.PAGINATED_TEXT_DOCUMENT, NFO.PLAIN_TEXT_DOCUMENT };
562
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
563
 
 
564
 
            uri = Zeitgeist.NFO.TRASH;
565
 
            description = "Represents a container for deleted files, a feature common in modern operating systems.";
566
 
            display_name = "Trash";
567
 
            parents = { NFO.DATA_CONTAINER };
568
 
            children = {  };
569
 
            all_children = {  };
570
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
571
 
 
572
 
            uri = Zeitgeist.NFO.VECTOR_IMAGE;
573
 
            description = "";
574
 
            display_name = "VectorImage";
575
 
            parents = { NFO.IMAGE };
576
 
            children = {  };
577
 
            all_children = {  };
578
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
579
 
 
580
 
            uri = Zeitgeist.NFO.VIDEO;
581
 
            description = "A video file.";
582
 
            display_name = "Video";
583
 
            parents = { NFO.VISUAL };
584
 
            children = { NMM.TVSHOW, NMM.MOVIE };
585
 
            all_children = { NMM.TVSHOW, NMM.MOVIE };
586
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
587
 
 
588
 
            uri = Zeitgeist.NFO.VISUAL;
589
 
            description = "File containing visual content.";
590
 
            display_name = "Visual";
591
 
            parents = { NFO.MEDIA };
592
 
            children = { NFO.IMAGE, NFO.VIDEO };
593
 
            all_children = { NMM.TVSHOW, NFO.VECTOR_IMAGE, NFO.VIDEO, NMM.MOVIE, NFO.CURSOR, NFO.ICON, NFO.IMAGE, NFO.RASTER_IMAGE };
594
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
595
 
 
596
 
            uri = Zeitgeist.NFO.WEBSITE;
597
 
            description = "A website, usually a container for remote resources, that may be interpreted as HTMLDocuments, images or other types of content.";
598
 
            display_name = "Website";
599
 
            parents = { NIE.INFORMATION_ELEMENT };
600
 
            children = {  };
601
 
            all_children = {  };
602
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
603
 
 
604
 
            uri = Zeitgeist.NFO.WEB_DATA_OBJECT;
605
 
            description = "An information resources of which representations (files, streams) can be retrieved through a web server. They may be generated at retrieval time. Typical examples are pages served by PHP or AJAX or mp3 streams.";
606
 
            display_name = "web data object";
607
 
            parents = { NIE.DATA_OBJECT };
608
 
            children = {  };
609
 
            all_children = {  };
610
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
611
 
 
612
 
            uri = Zeitgeist.NIE.DATA_OBJECT;
613
 
            description = "A unit of data that is created, annotated and processed on the user desktop. It represents a native structure the user works with. The usage of the term 'native' is important. It means that a DataObject can be directly mapped to a data structure maintained by a native application. This may be a file, a set of files or a part of a file. The granularity depends on the user. This class is not intended to be instantiated by itself. Use more specific subclasses.";
614
 
            display_name = "DataObject";
615
 
            parents = {  };
616
 
            children = { NFO.MEDIA_STREAM, NFO.FILE_DATA_OBJECT, NFO.SOFTWARE_SERVICE, NFO.HARD_DISK_PARTITION, NCO.CONTACT_LIST_DATA_OBJECT, ZG.EVENT_MANIFESTATION, NMO.MAILBOX_DATA_OBJECT, NFO.WEB_DATA_OBJECT, NFO.REMOTE_PORT_ADDRESS, NFO.SOFTWARE_ITEM, NCAL.CALENDAR_DATA_OBJECT };
617
 
            all_children = { NCAL.ATTACHMENT, ZG.EVENT_MANIFESTATION, NFO.SOFTWARE_SERVICE, ZG.HEURISTIC_ACTIVITY, NCO.CONTACT_LIST_DATA_OBJECT, NFO.SOFTWARE_ITEM, NFO.FILE_DATA_OBJECT, NFO.HARD_DISK_PARTITION, NFO.EMBEDDED_FILE_DATA_OBJECT, NFO.DELETED_RESOURCE, NMO.MAILBOX_DATA_OBJECT, NFO.WEB_DATA_OBJECT, NCAL.CALENDAR_DATA_OBJECT, ZG.SYSTEM_NOTIFICATION, NFO.MEDIA_STREAM, NFO.ARCHIVE_ITEM, ZG.SCHEDULED_ACTIVITY, NFO.REMOTE_DATA_OBJECT, NFO.ATTACHMENT, ZG.USER_ACTIVITY, NFO.REMOTE_PORT_ADDRESS, ZG.WORLD_ACTIVITY };
618
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
619
 
 
620
 
            uri = Zeitgeist.NIE.INFORMATION_ELEMENT;
621
 
            description = "A unit of content the user works with. This is a superclass for all interpretations of a DataObject.";
622
 
            display_name = "InformationElement";
623
 
            parents = {  };
624
 
            children = { NFO.EXECUTABLE, NCAL.JOURNAL, NMO.MESSAGE, NFO.WEBSITE, NCAL.TODO, NFO.MEDIA_LIST, NCAL.ALARM, NCAL.CALENDAR, NCO.CONTACT, NCAL.EVENT, NFO.BOOKMARK_FOLDER, NFO.BOOKMARK, NFO.FONT, NFO.DATA_CONTAINER, ZG.EVENT_INTERPRETATION, NFO.DOCUMENT, NMO.MAILBOX, NCAL.FREEBUSY, NCO.CONTACT_LIST, NMM.TVSERIES, NCO.CONTACT_GROUP, NFO.SOFTWARE, NCAL.TIMEZONE, NMO.MIME_ENTITY, NFO.MEDIA };
625
 
            all_children = { NFO.EXECUTABLE, NCAL.JOURNAL, ZG.MODIFY_EVENT, NMO.IMMESSAGE, NMO.MESSAGE, NFO.WEBSITE, NCAL.TODO, NFO.SPREADSHEET, ZG.CREATE_EVENT, NFO.MEDIA_LIST, NFO.FILESYSTEM, NCAL.ALARM, NCO.PERSON_CONTACT, NCAL.CALENDAR, NFO.BOOKMARK, NFO.TRASH, NCAL.EVENT, ZG.LEAVE_EVENT, NFO.ARCHIVE, ZG.ACCESS_EVENT, NFO.VECTOR_IMAGE, NFO.HTML_DOCUMENT, NFO.VIDEO, NFO.BOOKMARK_FOLDER, ZG.ACCEPT_EVENT, NCO.CONTACT, ZG.EXPIRE_EVENT, NFO.FONT, NFO.DATA_CONTAINER, NFO.RASTER_IMAGE, NFO.IMAGE, NFO.PLAIN_TEXT_DOCUMENT, ZG.EVENT_INTERPRETATION, NMO.MIME_ENTITY, NFO.APPLICATION, NFO.DOCUMENT, NMM.MUSIC_PIECE, NMO.MAILBOX, NMO.EMAIL, NFO.TEXT_DOCUMENT, NFO.FILESYSTEM_IMAGE, NFO.ICON, NFO.PRESENTATION, NCO.ORGANIZATION_CONTACT, NMM.MUSIC_ALBUM, NFO.SOURCE_CODE, NFO.VISUAL, ZG.DENY_EVENT, NFO.PAGINATED_TEXT_DOCUMENT, NMM.TVSHOW, NCO.CONTACT_LIST, NMM.TVSERIES, NFO.AUDIO, NCO.CONTACT_GROUP, NFO.OPERATING_SYSTEM, NFO.SOFTWARE, NMM.MOVIE, ZG.MOVE_EVENT, NCAL.TIMEZONE, NFO.MIND_MAP, NFO.FOLDER, ZG.SEND_EVENT, NFO.CURSOR, NCAL.FREEBUSY, NFO.MEDIA, ZG.DELETE_EVENT, ZG.RECEIVE_EVENT };
626
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
627
 
 
628
 
            uri = Zeitgeist.NMM.MOVIE;
629
 
            description = "A Movie";
630
 
            display_name = "movie";
631
 
            parents = { NFO.VIDEO };
632
 
            children = {  };
633
 
            all_children = {  };
634
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
635
 
 
636
 
            uri = Zeitgeist.NMM.MUSIC_ALBUM;
637
 
            description = "The music album as provided by the publisher. Not to be confused with media lists or collections.";
638
 
            display_name = "music album";
639
 
            parents = { NFO.MEDIA_LIST };
640
 
            children = {  };
641
 
            all_children = {  };
642
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
643
 
 
644
 
            uri = Zeitgeist.NMM.MUSIC_PIECE;
645
 
            description = "Used to assign music-specific properties such a BPM to video and audio";
646
 
            display_name = "music";
647
 
            parents = { NFO.AUDIO };
648
 
            children = {  };
649
 
            all_children = {  };
650
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
651
 
 
652
 
            uri = Zeitgeist.NMM.TVSERIES;
653
 
            description = "A TV Series has multiple seasons and episodes";
654
 
            display_name = "tv series";
655
 
            parents = { NIE.INFORMATION_ELEMENT };
656
 
            children = {  };
657
 
            all_children = {  };
658
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
659
 
 
660
 
            uri = Zeitgeist.NMM.TVSHOW;
661
 
            description = "A TV Show";
662
 
            display_name = "tv show";
663
 
            parents = { NFO.VIDEO };
664
 
            children = {  };
665
 
            all_children = {  };
666
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
667
 
 
668
 
            uri = Zeitgeist.NMO.EMAIL;
669
 
            description = "An email.";
670
 
            display_name = "Email";
671
 
            parents = { NMO.MESSAGE };
672
 
            children = {  };
673
 
            all_children = {  };
674
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
675
 
 
676
 
            uri = Zeitgeist.NMO.IMMESSAGE;
677
 
            description = "A message sent with Instant Messaging software.";
678
 
            display_name = "IMMessage";
679
 
            parents = { NMO.MESSAGE };
680
 
            children = {  };
681
 
            all_children = {  };
682
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
683
 
 
684
 
            uri = Zeitgeist.NMO.MAILBOX;
685
 
            description = "A mailbox - container for MailboxDataObjects.";
686
 
            display_name = "Mailbox";
687
 
            parents = { NIE.INFORMATION_ELEMENT };
688
 
            children = {  };
689
 
            all_children = {  };
690
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
691
 
 
692
 
            uri = Zeitgeist.NMO.MAILBOX_DATA_OBJECT;
693
 
            description = "An entity encountered in a mailbox. Most common interpretations for such an entity include Message or Folder";
694
 
            display_name = "MailboxDataObject";
695
 
            parents = { NIE.DATA_OBJECT };
696
 
            children = {  };
697
 
            all_children = {  };
698
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
699
 
 
700
 
            uri = Zeitgeist.NMO.MESSAGE;
701
 
            description = "A message. Could be an email, instant messanging message, SMS message etc.";
702
 
            display_name = "Message";
703
 
            parents = { NIE.INFORMATION_ELEMENT };
704
 
            children = { NMO.EMAIL, NMO.IMMESSAGE };
705
 
            all_children = { NMO.EMAIL, NMO.IMMESSAGE };
706
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
707
 
 
708
 
            uri = Zeitgeist.NMO.MIME_ENTITY;
709
 
            description = "A MIME entity, as defined in RFC2045, Section 2.4.";
710
 
            display_name = "MimeEntity";
711
 
            parents = { NIE.INFORMATION_ELEMENT };
712
 
            children = {  };
713
 
            all_children = {  };
714
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
715
 
 
716
 
            uri = Zeitgeist.ZG.ACCEPT_EVENT;
717
 
            description = "Event triggered when the user accepts a request of some sort. Examples could be answering a phone call, accepting a file transfer, or accepting a friendship request over an IM protocol. See also DenyEvent for when the user denies a similar request";
718
 
            display_name = "ACCEPT_EVENT";
719
 
            parents = { ZG.EVENT_INTERPRETATION };
720
 
            children = {  };
721
 
            all_children = {  };
722
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
723
 
 
724
 
            uri = Zeitgeist.ZG.ACCESS_EVENT;
725
 
            description = "Event triggered by opening, accessing, or starting a resource. Most zg:AccessEvents will have an accompanying zg:LeaveEvent, but this need not always be the case";
726
 
            display_name = "ACCESS_EVENT";
727
 
            parents = { ZG.EVENT_INTERPRETATION };
728
 
            children = {  };
729
 
            all_children = {  };
730
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
731
 
 
732
 
            uri = Zeitgeist.ZG.CREATE_EVENT;
733
 
            description = "Event type triggered when an item is created";
734
 
            display_name = "CREATE_EVENT";
735
 
            parents = { ZG.EVENT_INTERPRETATION };
736
 
            children = {  };
737
 
            all_children = {  };
738
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
739
 
 
740
 
            uri = Zeitgeist.ZG.DELETE_EVENT;
741
 
            description = "Event triggered because a resource has been deleted or otherwise made permanently unavailable. Fx. when deleting a file. FIXME: How about when moving to trash?";
742
 
            display_name = "DELETE_EVENT";
743
 
            parents = { ZG.EVENT_INTERPRETATION };
744
 
            children = {  };
745
 
            all_children = {  };
746
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
747
 
 
748
 
            uri = Zeitgeist.ZG.DENY_EVENT;
749
 
            description = "Event triggered when the user denies a request of some sort. Examples could be rejecting a phone call, rejecting a file transfer, or denying a friendship request over an IM protocol. See also AcceptEvent for the converse event type";
750
 
            display_name = "DENY_EVENT";
751
 
            parents = { ZG.EVENT_INTERPRETATION };
752
 
            children = {  };
753
 
            all_children = {  };
754
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
755
 
 
756
 
            uri = Zeitgeist.ZG.EVENT_INTERPRETATION;
757
 
            description = "Base class for event interpretations. Please do no instantiate directly, but use one of the sub classes. The interpretation of an event describes 'what happened' - fx. 'something was created' or 'something was accessed'";
758
 
            display_name = "EVENT_INTERPRETATION";
759
 
            parents = { NIE.INFORMATION_ELEMENT };
760
 
            children = { ZG.DENY_EVENT, ZG.ACCESS_EVENT, ZG.EXPIRE_EVENT, ZG.LEAVE_EVENT, ZG.CREATE_EVENT, ZG.MOVE_EVENT, ZG.ACCEPT_EVENT, ZG.SEND_EVENT, ZG.MODIFY_EVENT, ZG.DELETE_EVENT, ZG.RECEIVE_EVENT };
761
 
            all_children = { ZG.DENY_EVENT, ZG.ACCESS_EVENT, ZG.EXPIRE_EVENT, ZG.LEAVE_EVENT, ZG.CREATE_EVENT, ZG.MOVE_EVENT, ZG.ACCEPT_EVENT, ZG.SEND_EVENT, ZG.MODIFY_EVENT, ZG.DELETE_EVENT, ZG.RECEIVE_EVENT };
762
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
763
 
 
764
 
            uri = Zeitgeist.ZG.EVENT_MANIFESTATION;
765
 
            description = "Base class for event manifestation types. Please do no instantiate directly, but use one of the sub classes. The manifestation of an event describes 'how it happened'. Fx. 'the user did this' or 'the system notified the user'";
766
 
            display_name = "EVENT_MANIFESTATION";
767
 
            parents = { NIE.DATA_OBJECT };
768
 
            children = { ZG.USER_ACTIVITY, ZG.WORLD_ACTIVITY, ZG.HEURISTIC_ACTIVITY, ZG.SCHEDULED_ACTIVITY, ZG.SYSTEM_NOTIFICATION };
769
 
            all_children = { ZG.USER_ACTIVITY, ZG.SYSTEM_NOTIFICATION, ZG.HEURISTIC_ACTIVITY, ZG.SCHEDULED_ACTIVITY, ZG.WORLD_ACTIVITY };
770
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
771
 
 
772
 
            uri = Zeitgeist.ZG.EXPIRE_EVENT;
773
 
            description = "Event triggered when something expires or times out. These types of events are normally not triggered by the user, but by the operating system or some external party. Examples are a recurring calendar item or task deadline that expires or a when the user fails to respond to an external request such as a phone call";
774
 
            display_name = "EXPIRE_EVENT";
775
 
            parents = { ZG.EVENT_INTERPRETATION };
776
 
            children = {  };
777
 
            all_children = {  };
778
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
779
 
 
780
 
            uri = Zeitgeist.ZG.HEURISTIC_ACTIVITY;
781
 
            description = "An event that is caused indirectly from user activity or deducted via analysis of other events. Fx. if an algorithm divides a user workflow into disjoint 'projects' based on temporal analysis it could insert heuristic events when the user changed project";
782
 
            display_name = "HEURISTIC_ACTIVITY";
783
 
            parents = { ZG.EVENT_MANIFESTATION };
784
 
            children = {  };
785
 
            all_children = {  };
786
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
787
 
 
788
 
            uri = Zeitgeist.ZG.LEAVE_EVENT;
789
 
            description = "Event triggered by closing, leaving, or stopping a resource. Most zg:LeaveEvents will be following a zg:Access event, but this need not always be the case";
790
 
            display_name = "LEAVE_EVENT";
791
 
            parents = { ZG.EVENT_INTERPRETATION };
792
 
            children = {  };
793
 
            all_children = {  };
794
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
795
 
 
796
 
            uri = Zeitgeist.ZG.MODIFY_EVENT;
797
 
            description = "Event triggered by modifying an existing resources. Fx. when editing and saving a file on disk or correcting a typo in the name of a contact";
798
 
            display_name = "MODIFY_EVENT";
799
 
            parents = { ZG.EVENT_INTERPRETATION };
800
 
            children = {  };
801
 
            all_children = {  };
802
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
803
 
 
804
 
            uri = Zeitgeist.ZG.MOVE_EVENT;
805
 
            description = "Event triggered when a resource has been moved from a location to another. Fx. moving a file from a folder to another.";
806
 
            display_name = "MOVE_EVENT";
807
 
            parents = { ZG.EVENT_INTERPRETATION };
808
 
            children = {  };
809
 
            all_children = {  };
810
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
811
 
 
812
 
            uri = Zeitgeist.ZG.RECEIVE_EVENT;
813
 
            description = "Event triggered when something is received from an external party. The event manifestation must be set according to the world view of the receiving party. Most often the item that is being received will be some sort of message - an email, instant message, or broadcasted media such as micro blogging";
814
 
            display_name = "RECEIVE_EVENT";
815
 
            parents = { ZG.EVENT_INTERPRETATION };
816
 
            children = {  };
817
 
            all_children = {  };
818
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
819
 
 
820
 
            uri = Zeitgeist.ZG.SCHEDULED_ACTIVITY;
821
 
            description = "An event that was directly triggered by some user initiated sequence of actions. For example a music player automatically changing to the next song in a playlist";
822
 
            display_name = "SCHEDULED_ACTIVITY";
823
 
            parents = { ZG.EVENT_MANIFESTATION };
824
 
            children = {  };
825
 
            all_children = {  };
826
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
827
 
 
828
 
            uri = Zeitgeist.ZG.SEND_EVENT;
829
 
            description = "Event triggered when something is send to an external party. The event manifestation must be set according to the world view of the sending party. Most often the item that is being send will be some sort of message - an email, instant message, or broadcasted media such as micro blogging";
830
 
            display_name = "SEND_EVENT";
831
 
            parents = { ZG.EVENT_INTERPRETATION };
832
 
            children = {  };
833
 
            all_children = {  };
834
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
835
 
 
836
 
            uri = Zeitgeist.ZG.SYSTEM_NOTIFICATION;
837
 
            description = "An event send to the user by the operating system. Examples could include when the user inserts a USB stick or when the system warns that the hard disk is full";
838
 
            display_name = "SYSTEM_NOTIFICATION";
839
 
            parents = { ZG.EVENT_MANIFESTATION };
840
 
            children = {  };
841
 
            all_children = {  };
842
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
843
 
 
844
 
            uri = Zeitgeist.ZG.USER_ACTIVITY;
845
 
            description = "An event that was actively performed by the user. For example saving or opening a file by clicking on it in the file manager";
846
 
            display_name = "USER_ACTIVITY";
847
 
            parents = { ZG.EVENT_MANIFESTATION };
848
 
            children = {  };
849
 
            all_children = {  };
850
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
851
 
 
852
 
            uri = Zeitgeist.ZG.WORLD_ACTIVITY;
853
 
            description = "An event that was performed by an entity, usually human or organization, other than the user. An example could be logging the activities of other people in a team";
854
 
            display_name = "WORLD_ACTIVITY";
855
 
            parents = { ZG.EVENT_MANIFESTATION };
856
 
            children = {  };
857
 
            all_children = {  };
858
 
            Symbol.Info.register (uri, display_name, description, parents, children, all_children);
859
 
        }
860
 
 
861
 
    }
862
 
 
863
 
    private class Symbol.Info
864
 
    {
865
 
        public List<string> parents;
866
 
        public List<string> children;
867
 
        public List<string> all_children;
868
 
        public string uri;
869
 
        public string display_name;
870
 
        public string description;
871
 
 
872
 
        private Info (string uri, string display_name, string description,
873
 
            string[] parents, string[] children, string[] all_children)
874
 
        {
875
 
            this.uri = uri;
876
 
            this.display_name = display_name;
877
 
            this.description = description;
878
 
            this.parents = new List<string> ();
879
 
            for (int i = 0; i < parents.length; i++)
880
 
                this.parents.append (parents[i]);
881
 
            this.children = new List<string> ();
882
 
            for (int i = 0; i < children.length; i++)
883
 
                this.children.append (children[i]);
884
 
            this.all_children = new List<string> ();
885
 
            for (int i = 0; i < all_children.length; i++)
886
 
                this.all_children.append (all_children[i]);
887
 
        }
888
 
 
889
 
        internal static void register (string uri, string display_name,
890
 
            string description, string[] parents, string[] children,
891
 
            string[] all_children)
892
 
        {
893
 
            if (all_symbols == null)
894
 
                all_symbols = new HashTable<string, Info> (str_hash, str_equal);
895
 
            Info symbol = new Info (uri, display_name, description,
896
 
                parents, children, all_children);
897
 
            all_symbols.insert (uri, symbol);
898
 
        }
899
 
 
900
 
    }
901
 
 
902
 
}
903
 
 
904
 
// vim:expandtab:ts=4:sw=4