From fd4379ff20fe9c9e3b4f4028095b9659687002ff Mon Sep 17 00:00:00 2001 From: Nat Friedman Date: Tue, 25 Jan 2000 05:28:18 +0000 Subject: More work. svn path=/trunk/; revision=1626 --- addressbook/backend/ebook/e-card-types.h | 246 +++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 addressbook/backend/ebook/e-card-types.h (limited to 'addressbook/backend/ebook/e-card-types.h') diff --git a/addressbook/backend/ebook/e-card-types.h b/addressbook/backend/ebook/e-card-types.h new file mode 100644 index 0000000000..c148423b21 --- /dev/null +++ b/addressbook/backend/ebook/e-card-types.h @@ -0,0 +1,246 @@ +/* + * Authors: + * Arturo Espinosa + * Nat Friedman (nat@helixcode.com) + * + * Copyright (C) 2000 Helix Code, Inc. + * Copyright (C) 1999 The Free Software Foundation + */ + +#ifndef __E_CARD_TYPES_H__ +#define __E_CARD_TYPES_H__ + +typedef enum +{ + PROP_NONE = 0, /* Must always be the first, with value = 0. */ + PROP_CARD = 1, + PROP_FNAME = 2, + PROP_NAME = 3, + PROP_PHOTO = 4, + PROP_BDAY = 5, + PROP_DELADDR_LIST = 6, + PROP_DELADDR = 7, + PROP_DELLABEL_LIST = 8, + PROP_DELLABEL = 9, + PROP_PHONE_LIST = 10, + PROP_PHONE = 11, + PROP_EMAIL_LIST = 12, + PROP_EMAIL = 13, + PROP_MAILER = 14, + PROP_TIMEZN = 15, + PROP_GEOPOS = 16, + PROP_TITLE = 17, + PROP_ROLE = 18, + PROP_LOGO = 19, + PROP_AGENT = 20, + PROP_ORG = 21, + PROP_COMMENT = 22, + PROP_REV = 23, + PROP_SOUND = 24, + PROP_URL = 25, + PROP_UID = 26, + PROP_VERSION = 27, + PROP_KEY = 28, + PROP_CATEGORIES = 29, + PROP_XTENSION_LIST = 30, + PROP_VALUE = 31, + PROP_ENCODING = 32, + PROP_QUOTED_PRINTABLE = 33, + PROP_8BIT = 34, + PROP_BASE64 = 35, + PROP_LANG = 36, + PROP_CHARSET = 37, + PROP_LAST = 38 /* Must always be the last, with the gratest value. */ +} ECardPropertyType; + +typedef enum +{ + ENC_NONE = 0, + ENC_BASE64 = 1, + ENC_QUOTED_PRINTABLE = 2, + ENC_8BIT = 3, + ENC_7BIT = 4, + ENC_LAST = 5 +} ECardEncodeType; + +typedef enum +{ + VAL_NONE = 0, + VAL_INLINE = 1, + VAL_CID = 2, + VAL_URL = 3, + VAL_LAST = 4 +} ECardValueType; + +typedef struct { + gboolean used; + ECardPropertyType type; + ECardEncodeType encode; + ECardValueType value; + char *charset; + char *lang; + GList *xtension; + + void *user_data; +} CardProperty; + +typedef struct { + char *name; + char *data; +} CardXAttribute; + +typedef struct { + CardProperty prop; + + char *name; + char *data; +} ECardXProperty; + +typedef struct { + CardProperty prop; + + GList *l; +} ECardList; + +/* IDENTIFICATION PROPERTIES */ + + +typedef struct { + char *prefix; /* Mr. */ + char *given; /* John */ + char *additional; /* Quinlan */ + char *family; /* Public */ + char *suffix; /* Esq. */ +} ECardName; + +typedef struct { + CardProperty prop; + + enum ECardPhotoType type; + guint size; + char *data; + +} ECardPhoto; + +typedef struct { + int year; + int month; + int day; +} ECardDate; + + +/* TELECOMMUNICATIONS ADDRESSING PROPERTIES */ + +typedef enum { + PHONE_PREF = 1 << 0, + PHONE_WORK = 1 << 1, + PHONE_HOME = 1 << 2, + PHONE_VOICE = 1 << 3, + PHONE_FAX = 1 << 4, + PHONE_MSG = 1 << 5, + PHONE_CELL = 1 << 6, + PHONE_PAGER = 1 << 7, + PHONE_BBS = 1 << 8, + PHONE_MODEM = 1 << 9, + PHONE_CAR = 1 << 10, + PHONE_ISDN = 1 << 11, + PHONE_VIDEO = 1 << 12 +} ECardPhoneFlags; + +typedef struct { + ECardPhoneFlags flags; + char *data; +} ECardPhone; + +typedef struct { + int sign; /* 1 or -1 */ + int hours; /* Mexico General is at -6:00 UTC */ + int mins; /* sign -1, hours 6, mins 0 */ +} ECardTimeZone; + +typedef struct { + CardProperty prop; + + float lon; + float lat; +} ECardGeoPos; + + +typedef enum { + PHOTO_GIF, PHOTO_CGM, PHOTO_WMF, PHOTO_BMP, PHOTO_MET, PHOTO_PMB, + PHOTO_DIB, PHOTO_PICT, PHOTO_TIFF, PHOTO_PS, PHOTO_PDF, PHOTO_JPEG, + PHOTO_MPEG, PHOTO_MPEG2, PHOTO_AVI, PHOTO_QTIME +} ECardPhotoType; + +/* DELIVERY ADDRESSING PROPERTIES */ + +typedef enum { + ADDR_HOME = 1 << 0, + ADDR_WORK = 1 << 1, + ADDR_POSTAL = 1 << 2, + ADDR_PARCEL = 1 << 3, + ADDR_DOM = 1 << 4, + ADDR_INTL = 1 << 5 +} ECardAddrFlags; + +typedef struct { + ECardAddrFlags flags; + + char *pobox; + char *ext; + char *street; + char *city; + char *region; + char *code; + char *country; +} ECardAddr; + + +typedef struct +{ + ECardAddrFlags flags; + char *data; +} ECardAddrLabel; + +/* ORGANIZATIONAL PROPERTIES */ + +typedef struct { + char *name; + char *unit1; + char *unit2; + char *unit3; + char *unit4; +} ECardOrg; + +typedef enum { + SOUND_AIFF, + SOUND_PCM, + SOUND_WAVE, + SOUND_PHONETIC +} ECardSoundType; + +typedef enum { + KEY_X509, + KEY_PGP +} ECardKeyType; + +typedef struct { + int utc; + struct tm tm; +} ECardRev; + + +typedef struct { + enum SoundType type; + unsigned int size; + char *data; +} ECardSound; + +typedef struct { + CardProperty prop; + + enum KeyType type; + char *data; +} ECardKey; + +#endif /* __E_CARD_TYPES_H__ */ -- cgit v1.2.3