source: protocols/twitter/twitter.h @ 5f74987

Last change on this file since 5f74987 was 6eca2eb, checked in by Wilmer van der Gaast <wilmer@…>, at 2011-04-18T14:14:08Z

Try to show better Twitter error messages. Sadly this doesn't always work
since Twitter can't seem to make up their mind on the formatting of their
error responses, sometimes using XML and sometimes plain text.

  • Property mode set to 100644
File size: 2.9 KB
Line 
1/***************************************************************************\
2*                                                                           *
3*  BitlBee - An IRC to IM gateway                                           *
4*  Simple module to facilitate twitter functionality.                       *
5*                                                                           *
6*  Copyright 2009 Geert Mulders <g.c.w.m.mulders@gmail.com>                 *
7*                                                                           *
8*  This library is free software; you can redistribute it and/or            *
9*  modify it under the terms of the GNU Lesser General Public               *
10*  License as published by the Free Software Foundation, version            *
11*  2.1.                                                                     *
12*                                                                           *
13*  This library 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 GNU        *
16*  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 library; if not, write to the Free Software Foundation,  *
20*  Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA           *
21*                                                                           *
22****************************************************************************/
23
24#include "nogaim.h"
25
26#ifndef _TWITTER_H
27#define _TWITTER_H
28
29#ifdef DEBUG_TWITTER
30#define debug( text... ) imcb_log( ic, text );
31#else
32#define debug( text... )
33#endif
34
35typedef enum
36{
37        TWITTER_HAVE_FRIENDS = 1,
38} twitter_flags_t;
39
40struct twitter_log_data;
41
42struct twitter_data
43{
44        char* user;
45        char* pass;
46        struct oauth_info *oauth_info;
47        guint64 home_timeline_id;
48        guint64 last_status_id; /* For undo */
49        gint main_loop_id;
50        struct groupchat *home_timeline_gc;
51        gint http_fails;
52        twitter_flags_t flags;
53       
54        gboolean url_ssl;
55        int url_port;
56        char *url_host;
57        char *url_path;
58
59        char *prefix; /* Used to generate contact + channel name. */
60       
61        struct twitter_log_data *log;
62        int log_id;
63};
64
65struct twitter_user_data
66{
67        guint64 last_id;
68        time_t last_time;
69};
70
71#define TWITTER_LOG_LENGTH 100
72struct twitter_log_data
73{
74        guint64 id;
75        struct bee_user *bu; /* DANGER: can be a dead pointer. Check it first. */
76};
77
78/**
79 * This has the same function as the msn_connections GSList. We use this to
80 * make sure the connection is still alive in callbacks before we do anything
81 * else.
82 */
83extern GSList *twitter_connections;
84
85void twitter_login_finish( struct im_connection *ic );
86
87struct http_request;
88char *twitter_parse_error( struct http_request *req );
89
90#endif //_TWITTER_H
Note: See TracBrowser for help on using the repository browser.