Fix FSF address (Tobias Mueller, #470445)
[platform/upstream/evolution-data-server.git] / servers / groupwise / e-gw-sendoptions.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /* 
3  * Authors : 
4  *  JP Rosevear <jpr@ximian.com>
5  *  Rodrigo Moya <rodrigo@ximian.com>
6  *
7  * Copyright 2003, Novell, Inc.
8  *
9  * This program is free software; you can redistribute it and/or 
10  * modify it under the terms of version 2 of the GNU Lesser General Public 
11  * License as published by the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
21  * USA
22  */
23
24 #ifndef E_GW_SENDOPTIONS_H
25 #define E_GW_SENDOPTIONS_H
26
27 #include <libsoup/soup-soap-response.h>
28
29 G_BEGIN_DECLS
30
31 #define E_TYPE_GW_SENDOPTIONS            (e_gw_sendoptions_get_type ())
32 #define E_GW_SENDOPTIONS(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_GW_SENDOPTIONS, EGwSendOptions))
33 #define E_GW_SENDOPTIONS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_GW_SENDOPTIONS, EGwSendOptionsClass))
34 #define E_IS_GW_SENDOPTIONS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_GW_SENDOPTIONS))
35 #define E_IS_GW_SENDOPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_GW_SENDOPTIONS))
36
37 typedef struct _EGwSendOptions        EGwSendOptions;
38 typedef struct _EGwSendOptionsClass   EGwSendOptionsClass;
39 typedef struct _EGwSendOptionsPrivate EGwSendOptionsPrivate;
40
41 struct _EGwSendOptions {
42         GObject parent;
43         EGwSendOptionsPrivate *priv;
44 };
45
46 struct _EGwSendOptionsClass {
47         GObjectClass parent_class;
48 };
49 typedef enum {
50         E_GW_PRIORITY_UNDEFINED,
51         E_GW_PRIORITY_HIGH,
52         E_GW_PRIORITY_STANDARD,
53         E_GW_PRIORITY_LOW
54 } EGwSendOptionsPriority;
55
56 typedef enum {
57         E_GW_SECURITY_NORMAL,
58         E_GW_SECURITY_PROPRIETARY,
59         E_GW_SECURITY_CONFIDENTIAL,
60         E_GW_SECURITY_SECRET,
61         E_GW_SECURITY_TOP_SECRET,
62         E_GW_SECURITY_FOR_YOUR_EYES_ONLY
63 } EGwSendOptionsSecurity;
64
65 typedef enum {
66         E_GW_RETURN_NOTIFY_NONE,
67         E_GW_RETURN_NOTIFY_MAIL
68 } EGwSendOptionsReturnNotify;
69
70 typedef enum {
71         E_GW_DELIVERED = 1,
72         E_GW_DELIVERED_OPENED = 2,
73         E_GW_ALL = 3
74 } EGwTrackInfo;
75
76 typedef struct {
77         EGwSendOptionsPriority priority;
78         gboolean reply_enabled;
79         gboolean reply_convenient;
80         gint reply_within;
81         gboolean expiration_enabled;
82         gint expire_after;
83         gboolean delay_enabled;
84         gint delay_until;
85 } EGwSendOptionsGeneral;
86
87 typedef struct {
88         gboolean tracking_enabled;
89         EGwTrackInfo track_when;
90         gboolean autodelete;
91         EGwSendOptionsReturnNotify opened;
92         EGwSendOptionsReturnNotify accepted;
93         EGwSendOptionsReturnNotify declined;
94         EGwSendOptionsReturnNotify completed;
95 } EGwSendOptionsStatusTracking;
96
97 GType e_gw_sendoptions_get_type (void);
98 EGwSendOptions* e_gw_sendoptions_new_from_soap_parameter (SoupSoapParameter *param);
99 EGwSendOptionsGeneral* e_gw_sendoptions_get_general_options (EGwSendOptions *opts);
100 EGwSendOptionsStatusTracking* e_gw_sendoptions_get_status_tracking_options (EGwSendOptions *opts, char *type);
101 gboolean e_gw_sendoptions_form_message_to_modify (SoupSoapMessage *msg, EGwSendOptions *n_opts, EGwSendOptions *o_opts);
102 EGwSendOptions * e_gw_sendoptions_new (void);
103
104 #endif