soylent r248 - trunk/libsoylent
- From: svenp svn gnome org
- To: svn-commits-list gnome org
- Subject: soylent r248 - trunk/libsoylent
- Date: Wed, 30 Jul 2008 09:46:51 +0000 (UTC)
Author: svenp
Date: Wed Jul 30 09:46:51 2008
New Revision: 248
URL: http://svn.gnome.org/viewvc/soylent?rev=248&view=rev
Log:
added convinience methods and macros for SlPerson
added a bunch of well-known attributes
Modified:
trunk/libsoylent/sl-person.c
trunk/libsoylent/sl-person.h
Modified: trunk/libsoylent/sl-person.c
==============================================================================
--- trunk/libsoylent/sl-person.c (original)
+++ trunk/libsoylent/sl-person.c Wed Jul 30 09:46:51 2008
@@ -119,11 +119,36 @@
return self;
}
+SlPerson *
+sl_person_new_with_econtact (EContact *econtact)
+{
+ SlPerson *self = g_object_new (SL_PERSON_TYPE, NULL);
+ sl_person_constr_with_econtact (self, econtact);
+ return self;
+}
+
void
sl_person_constr (SlPerson *self, const gchar *name)
{
sl_entity_constr (SL_ENTITY (self));
- /* temporary, this will be moved to SlAttributes */
- EContact *econtact = sl_entity_get_econtact (SL_ENTITY (self));
- e_contact_set (econtact, E_CONTACT_NICKNAME, (const gpointer) name);
+ sl_person_set_nick (self, (gchar *) name);
+}
+
+void
+sl_person_constr_with_econtact (SlPerson *self, EContact *econtact)
+{
+ sl_entity_constr_with_econtact (SL_ENTITY (self), econtact);
+}
+
+gchar *
+sl_person_get_nick (SlPerson *self)
+{
+ /* TODO: create attrname -> internal_attrname mapping */
+ return sl_person_get (self, SL_ATTR_NICK);
+}
+
+void
+sl_person_set_nick (SlPerson *self, gchar *nick)
+{
+ sl_person_set (self, SL_ATTR_NICK, nick);
}
Modified: trunk/libsoylent/sl-person.h
==============================================================================
--- trunk/libsoylent/sl-person.h (original)
+++ trunk/libsoylent/sl-person.h Wed Jul 30 09:46:51 2008
@@ -41,6 +41,81 @@
#define SL_PERSON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, \
SL_PERSON_TYPE))
+/* well-known attributes */
+#define SL_ATTR_ID "id"
+#define SL_ATTR_NAME "name"
+#define SL_ATTR_FAMILY_NAME "family-name"
+#define SL_ATTR_NICK "nick"
+#define SL_ATTR_GROUP "group"
+#define SL_ATTR_ADDRESS "address"
+#define SL_ATTR_EMAIL "email"
+#define SL_ATTR_TELEPHONE "telephone"
+#define SL_ATTR_BIRTHDAY "birthday"
+#define SL_ATTR_URL "url"
+#define SL_ATTR_BLOG "blog"
+#define SL_ATTR_CALENDAR_URL "calendar-url"
+#define SL_ATTR_FREE_BUSY_URL "free-busy-url"
+#define SL_ATTR_NOTE "note"
+#define SL_ATTR_PHOTO "photo"
+#define SL_ATTR_ICON "icon"
+/* TODO: job struct? */
+#define SL_ATTR_JOB_ROLE "job-role"
+#define SL_ATTR_JOB_TITLE "job-title"
+
+/*#define EVC_X_AIM "X-AIM"
+#define EVC_X_GADUGADU "X-GADUGADU"
+#define EVC_X_ICQ "X-ICQ"
+#define EVC_X_JABBER "X-JABBER"
+#define EVC_X_MSN "X-MSN"
+#define EVC_X_YAHOO "X-YAHOO"
+#define EVC_X_GROUPWISE "X-GROUPWISE"*/
+
+/*#define EVC_GEO "GEO"*/
+/*#define EVC_ICSCALENDAR "ICSCALENDAR"*/
+/*#define EVC_KEY "KEY"*/
+/*#define EVC_LABEL "LABEL"*/
+/*#define EVC_MAILER "MAILER"*/
+/*#define EVC_ORG "ORG"*/
+/*#define EVC_PRODID "PRODID"*/
+/*#define EVC_QUOTEDPRINTABLE "QUOTED-PRINTABLE"*/
+/*#define EVC_REV "REV"*/
+/*#define EVC_ROLE "ROLE"*/
+/*#define EVC_TITLE "TITLE"*/
+/*#define EVC_TYPE "TYPE"*/
+/*#define EVC_VALUE "VALUE"*/
+/*#define EVC_VERSION "VERSION"*/
+/*#define EVC_X_ANNIVERSARY "X-EVOLUTION-ANNIVERSARY"*/
+/*#define EVC_X_ASSISTANT "X-EVOLUTION-ASSISTANT"*/
+/*#define EVC_X_BIRTHDAY "X-EVOLUTION-BIRTHDAY"*/
+/*#define EVC_X_FILE_AS "X-EVOLUTION-FILE-AS"*/
+/*#define EVC_X_LIST_SHOW_ADDRESSES "X-EVOLUTION-LIST-SHOW_ADDRESSES"*/
+/*#define EVC_X_LIST "X-EVOLUTION-LIST"*/
+/*#define EVC_X_MANAGER "X-EVOLUTION-MANAGER"*/
+/*#define EVC_X_SPOUSE "X-EVOLUTION-SPOUSE"*/
+/*#define EVC_X_WANTS_HTML "X-MOZILLA-HTML"*/
+/*#define EVC_X_BOOK_URI "X-EVOLUTION-BOOK-URI"*/
+/*#define EVC_X_CALLBACK "X-EVOLUTION-CALLBACK"*/
+/*#define EVC_X_COMPANY "X-EVOLUTION-COMPANY"*/
+/*#define EVC_X_DEST_CONTACT_UID "X-EVOLUTION-DEST-CONTACT-UID"
+#define EVC_X_DEST_EMAIL "X-EVOLUTION-DEST-EMAIL"
+#define EVC_X_DEST_EMAIL_NUM "X-EVOLUTION-DEST-EMAIL-NUM"
+#define EVC_X_DEST_HTML_MAIL "X-EVOLUTION-DEST-HTML-MAIL"
+#define EVC_X_DEST_NAME "X-EVOLUTION-DEST-NAME"
+#define EVC_X_DEST_SOURCE_UID "X-EVOLUTION-DEST-SOURCE-UID"
+#define EVC_X_RADIO "X-EVOLUTION-RADIO"
+#define EVC_X_TELEX "X-EVOLUTION-TELEX"
+#define EVC_X_TTYTDD "X-EVOLUTION-TTYTDD"
+#define EVC_X_VIDEO_URL "X-EVOLUTION-VIDEO-URL"*/
+
+
+
+#define sl_person_get(self, attrname) (sl_entity_get ( \
+ SL_ENTITY (self), attrname))
+#define sl_person_set(self, attrname, value) (sl_entity_set ( \
+ SL_ENTITY (self), attrname, value))
+#define sl_person_commit(self, error) (sl_entity_commit ( \
+ SL_ENTITY (self), error))
+
typedef struct _SlPerson SlPerson;
typedef struct _SlPersonClass SlPersonClass;
typedef struct _SlPersonPriv SlPersonPriv;
@@ -59,6 +134,11 @@
GType sl_person_get_type (void);
SlPerson *sl_person_new (const gchar *name);
+SlPerson *sl_person_new_with_econtact (EContact *econtact);
void sl_person_constr (SlPerson *self, const gchar *name);
+void sl_person_constr_with_econtact (SlPerson *self, EContact *econtact);
+
+gchar *sl_person_get_nick (SlPerson *self);
+void sl_person_set_nick (SlPerson *self, gchar *nick);
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]