core cleanup: move out is_oof_note flag
[siplcs.git] / src / core / sipe.h
blob2a65df3a650c06e7bf3aa7c830977862931d1b4e
1 /**
2 * @file sipe.h
4 *****************************************************************************
5 *** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ***
6 *** ***
7 *** THIS INTERFACE IS DEPECRATED ***
8 *** ***
9 *** DO NOT INCLUDE IT IN ANY NEW CODE ***
10 *** ***
11 *** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ***
12 *****************************************************************************
14 * pidgin-sipe
16 * Copyright (C) 2010-11 SIPE Project <http://sipe.sourceforge.net/>
17 * Copyright (C) 2008 Novell, Inc.
18 * Copyright (C) 2007 Anibal Avelar <avelar@gmail.com>
19 * Copyright (C) 2005 Thomas Butter <butter@uni-mannheim.de>
21 * This program is free software; you can redistribute it and/or modify
22 * it under the terms of the GNU General Public License as published by
23 * the Free Software Foundation; either version 2 of the License, or
24 * (at your option) any later version.
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 * GNU General Public License for more details.
31 * You should have received a copy of the GNU General Public License
32 * along with this program; if not, write to the Free Software
33 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
37 * Interface dependencies:
39 * <time.h>
40 * <glib.h>
43 /* Forward declarations */
44 struct _PurpleAccount;
45 struct _PurpleConnection;
46 struct sipe_core_private;
47 struct sipe_buddy;
49 /** MS-PRES publication */
50 struct sipe_publication {
51 gchar *category;
52 guint instance;
53 guint container;
54 guint version;
55 /** for 'state' category */
56 int availability;
57 /** for 'state:calendarState' category */
58 char *cal_event_hash;
59 /** for 'note' category */
60 gchar *note;
61 /** for 'calendarData' category; 300(Team) container */
62 char *working_hours_xml_str;
63 char *fb_start_str;
64 char *free_busy_base64;
67 struct sipe_account_data {
68 struct _PurpleConnection *gc;
69 gchar *authdomain;
70 gchar *authuser;
71 gchar *password;
72 /** Allowed server events to subscribe. From register OK response. */
73 GSList *allow_events;
74 struct sip_csta *csta; /* For RCC - Remote Call Control */
75 gboolean subscribed_buddies; /* whether subscribed to buddies presence */
76 gboolean access_level_set; /* whether basic access level set */
77 gboolean initial_state_published; /* whether we published our initial state */
78 GSList *our_publication_keys; /* [MS-PRES] */
79 GHashTable *our_publications; /* [MS-PRES] */
80 GHashTable *user_state_publications; /* [MS-PRES] */
81 int presence_method_version;
82 time_t do_not_publish[SIPE_ACTIVITY_NUM_TYPES];
83 gchar *status;
84 gchar *note;
85 time_t note_since;
86 time_t idle_switch;
87 GSList *containers; /* MS-PRES containers */
88 struct _PurpleAccount *account;
89 gchar *regcallid;
90 struct sipe_calendar *cal;
91 gchar *email;
92 /** 2005 Custom XML piece.
93 * Possibly set by other point of presence or just other client at earlier time.
94 * It should be preserved/modified, not overwritten. This implies subscription
95 * to self-contasct.
96 * This XML keeps OC2005:
97 * - User note
98 * - OOF flag
99 * - User status
101 gchar *user_states;
105 * THE BIG SPLIT - temporary interfaces
107 * Previously private functions in sipe.c that are
108 * - waiting to be factored out to an appropriate module
109 * - are needed by the already created new modules
112 /* libpurple memory leak workaround */
113 void sipe_blist_menu_free_containers(struct sipe_core_private *sipe_private);
115 /*** THE BIG SPLIT END ***/