1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Authors :
* JP Rosevear <jpr@ximian.com>
* Rodrigo Moya <rodrigo@ximian.com>
*
* Copyright 2003, Novell, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
#ifndef E_GW_ITEM_H
#define E_GW_ITEM_H
#include <libsoup/soup-soap-message.h>
#include <libsoup/soup-soap-response.h>
G_BEGIN_DECLS
#define E_TYPE_GW_ITEM (e_gw_item_get_type ())
#define E_GW_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_GW_ITEM, EGwItem))
#define E_GW_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_GW_ITEM, EGwItemClass))
#define E_IS_GW_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_GW_ITEM))
#define E_IS_GW_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_GW_ITEM))
typedef struct _EGwItem EGwItem;
typedef struct _EGwItemClass EGwItemClass;
typedef struct _EGwItemPrivate EGwItemPrivate;
typedef enum {
E_GW_ITEM_TYPE_APPOINTMENT,
E_GW_ITEM_TYPE_TASK,
E_GW_ITEM_TYPE_CONTACT,
E_GW_ITEM_TYPE_GROUP,
E_GW_ITEM_TYPE_ORGANISATION,
E_GW_ITEM_TYPE_RESOURCE,
E_GW_ITEM_TYPE_CATEGORY,
E_GW_ITEM_TYPE_UNKNOWN
} EGwItemType;
typedef enum {
E_GW_ITEM_CHANGE_TYPE_ADD,
E_GW_ITEM_CHANGE_TYPE_UPDATE,
E_GW_ITEM_CHANGE_TYPE_DELETE,
E_GW_ITEM_CHNAGE_TYPE_UNKNOWN
} EGwItemChangeType;
struct _EGwItem {
GObject parent;
EGwItemPrivate *priv;
};
struct _EGwItemClass {
GObjectClass parent_class;
};
/* structures defined to hold contact item fields */
typedef struct {
char *name_prefix;
char *first_name;
char *middle_name;
char *last_name;
char *name_suffix;
} FullName;
typedef struct {
char *street_address;
char *location;
char *city;
char *state;
char *postal_code;
char *country;
} PostalAddress;
typedef struct {
char *service;
char *address;
}IMAddress;
typedef struct {
char *id;
char *email;
char *name;
} EGroupMember;
typedef struct {
char *email;
char *display_name;
} EGwItemOrganizer;
GType e_gw_item_get_type (void);
EGwItem *e_gw_item_new_empty (void);
EGwItem *e_gw_item_new_from_soap_parameter (const char *email, const char *container, SoupSoapParameter *param);
EGwItemType e_gw_item_get_item_type (EGwItem *item);
void e_gw_item_set_item_type (EGwItem *item, EGwItemType new_type);
const char *e_gw_item_get_container_id (EGwItem *item);
void e_gw_item_set_container_id (EGwItem *item, const char *new_id);
const char *e_gw_item_get_icalid (EGwItem *item);
void e_gw_item_set_icalid (EGwItem *item, const char *new_icalid);
const char *e_gw_item_get_id (EGwItem *item);
void e_gw_item_set_id (EGwItem *item, const char *new_id);
char *e_gw_item_get_creation_date (EGwItem *item);
void e_gw_item_set_creation_date (EGwItem *item, const char *new_date);
char *e_gw_item_get_start_date (EGwItem *item);
void e_gw_item_set_start_date (EGwItem *item, const char *new_date);
char *e_gw_item_get_completed_date (EGwItem *item);
void e_gw_item_set_completed_date (EGwItem *item, const char *new_date);
char *e_gw_item_get_end_date (EGwItem *item);
void e_gw_item_set_end_date (EGwItem *item, const char *new_date);
char *e_gw_item_get_due_date (EGwItem *item);
void e_gw_item_set_due_date (EGwItem *item, const char *new_date);
const char *e_gw_item_get_subject (EGwItem *item);
void e_gw_item_set_subject (EGwItem *item, const char *new_subject);
const char *e_gw_item_get_message (EGwItem *item);
void e_gw_item_set_message (EGwItem *item, const char *new_message);
const char *e_gw_item_get_place (EGwItem *item);
void e_gw_item_set_place (EGwItem *item, const char *new_place);
gboolean e_gw_item_get_completed (EGwItem *item);
void e_gw_item_set_completed (EGwItem *item, gboolean new_completed);
gboolean e_gw_item_get_is_allday_event (EGwItem *item);
void e_gw_item_set_is_allday_event (EGwItem *item, gboolean is_allday);
char* e_gw_item_get_field_value (EGwItem *item, char *field_name);
void e_gw_item_set_field_value (EGwItem *item, char *field_name, char* field_value);
GList* e_gw_item_get_email_list (EGwItem *item);
void e_gw_item_set_email_list (EGwItem *item, GList *email_list);
FullName* e_gw_item_get_full_name (EGwItem *item);
void e_gw_item_set_full_name (EGwItem *item, FullName* full_name);
GList* e_gw_item_get_member_list (EGwItem *item);
void e_gw_item_set_member_list (EGwItem *item, GList *list);
PostalAddress* e_gw_item_get_address (EGwItem *item, char *address_type);
void e_gw_item_set_address (EGwItem *item, char *addres_type, PostalAddress *address);
GList* e_gw_item_get_im_list (EGwItem *item);
void e_gw_item_set_im_list (EGwItem *item, GList *im_list);
void e_gw_item_set_categories (EGwItem *item, GList *category_list);
GList* e_gw_item_get_categories (EGwItem *item);
void e_gw_item_set_change (EGwItem *item, EGwItemChangeType change_type, char *field_name, gpointer field_value);
gboolean e_gw_item_append_changes_to_soap_message (EGwItem *item, SoupSoapMessage *msg);
void e_gw_item_set_category_name (EGwItem *item, char *cateogry_name);
char* e_gw_item_get_category_name (EGwItem *item);
void e_gw_item_set_source (EGwItem *item, char *source);
#define E_GW_ITEM_CLASSIFICATION_PUBLIC "Public"
#define E_GW_ITEM_CLASSIFICATION_PRIVATE "Private"
#define E_GW_ITEM_CLASSIFICATION_CONFIDENTIAL "Confidential"
const char *e_gw_item_get_classification (EGwItem *item);
void e_gw_item_set_classification (EGwItem *item, const char *new_class);
#define E_GW_ITEM_ACCEPT_LEVEL_BUSY "Busy"
#define E_GW_ITEM_ACCEPT_LEVEL_OUT_OF_OFFICE "OutOfOffice"
#define E_GW_ITEM_ACCEPT_LEVEL_FREE "Free"
const char *e_gw_item_get_accept_level (EGwItem *item);
void e_gw_item_set_accept_level (EGwItem *item, const char *new_level);
#define E_GW_ITEM_PRIORITY_HIGH "High"
#define E_GW_ITEM_PRIORITY_STANDARD "Standard"
#define E_GW_ITEM_PRIORITY_LOW "Low"
const char *e_gw_item_get_priority (EGwItem *item);
void e_gw_item_set_priority (EGwItem *item, const char *new_priority);
GSList *e_gw_item_get_recipient_list (EGwItem *item);
void e_gw_item_set_recipient_list (EGwItem *item, GSList *new_recipient_list);
EGwItemOrganizer *e_gw_item_get_organizer (EGwItem *item);
void e_gw_item_set_organizer (EGwItem *item, EGwItemOrganizer *organizer);
GSList *e_gw_item_get_recurrence_dates (EGwItem *item);
void e_gw_item_set_recurrence_dates (EGwItem *item, GSList *new_recurrence_dates);
int e_gw_item_get_trigger (EGwItem *item);
void e_gw_item_set_trigger (EGwItem *item, int trigger);
typedef enum {
E_GW_ITEM_STAT_ACCEPTED,
E_GW_ITEM_STAT_DECLINED,
E_GW_ITEM_STAT_NONE
} ItemStatus;
typedef struct {
char *email;
char *display_name;
enum {
E_GW_ITEM_RECIPIENT_TO,
E_GW_ITEM_RECIPIENT_CC,
E_GW_ITEM_RECIPIENT_BC,
E_GW_ITEM_RECIPIENT_NONE
} type;
ItemStatus status;
} EGwItemRecipient;
gboolean e_gw_item_append_to_soap_message (EGwItem *item, SoupSoapMessage *msg);
G_END_DECLS
#endif
|