2 * @file core-depurple.h
6 * Copyright (C) 2010 SIPE Project <http://sipe.sourceforge.net/>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
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 General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 * This is a temporary file for the core de-purple transition period
26 struct sipe_core_public
;
28 void sipe_search_contact_with_cb(PurpleConnection
*gc
,
29 PurpleRequestFields
*fields
);
30 GList
*sipe_buddy_menu(PurpleBuddy
*buddy
);
31 GList
*sipe_chat_menu(PurpleChat
*chat
);
32 void sipe_purple_setup(struct sipe_core_public
*sipe_public
,
33 PurpleConnection
*gc
);
34 int sipe_im_send(PurpleConnection
*gc
, const char *who
, const char *what
,
35 PurpleMessageFlags flags
);
36 unsigned int sipe_send_typing(PurpleConnection
*gc
, const char *who
,
37 PurpleTypingState state
);
38 void sipe_get_info(PurpleConnection
*gc
, const char *username
);
39 void sipe_set_status(PurpleAccount
*account
, PurpleStatus
*status
);
40 void sipe_set_idle(PurpleConnection
*gc
, int interval
);
41 void sipe_add_buddy(PurpleConnection
*gc
, PurpleBuddy
*buddy
,
43 void sipe_remove_buddy(PurpleConnection
*gc
, PurpleBuddy
*buddy
,
45 void sipe_chat_leave(PurpleConnection
*gc
, int id
);
46 int sipe_chat_send(PurpleConnection
*gc
, int id
, const char *what
,
47 PurpleMessageFlags flags
);
48 void sipe_group_buddy(PurpleConnection
*gc
, const char *who
,
49 const char *old_group_name
,
50 const char *new_group_name
);
51 void sipe_rename_group(PurpleConnection
*gc
, const char *old_name
,
52 PurpleGroup
*group
, GList
*moved_buddies
);
53 void sipe_convo_closed(PurpleConnection
*gc
, const char *who
);
54 void sipe_remove_group(PurpleConnection
*gc
, PurpleGroup
*group
);
57 * Initiates outgoing file transfer, sending @c file to remote peer identified
60 * @param gc a PurpleConnection
61 * @param who string identifying receiver of the file
62 * @param file local file system path of the file to send
64 void sipe_ft_send_file(PurpleConnection
*gc
, const char *who
,
68 * Creates new PurpleXfer structure representing a file transfer.
70 * @param gc a PurpleConnection
71 * @param who remote participant in the file transfer session
73 PurpleXfer
*sipe_ft_new_xfer(PurpleConnection
*gc
,
76 /* Convenience macros */
77 #define PURPLE_ACCOUNT_TO_SIPE_CORE_PRIVATE ((struct sipe_core_private *)account->gc->proto_data)
78 #define PURPLE_BUDDY_TO_SIPE_CORE_PRIVATE ((struct sipe_core_private *)buddy->account->gc->proto_data)
79 #define PURPLE_CHAT_TO_SIPE_CORE_PRIVATE ((struct sipe_core_private *)chat->account->gc->proto_data)
80 #define PURPLE_GC_TO_SIPE_CORE_PRIVATE ((struct sipe_core_private *)gc->proto_data)
81 #define PURPLE_XFER_TO_SIPE_CORE_PRIVATE ((struct sipe_core_private *)xfer->account->gc->proto_data)
82 #define PURPLE_ACCOUNT_TO_SIPE_ACCOUNT_DATA PURPLE_ACCOUNT_TO_SIPE_CORE_PRIVATE->temporary
83 #define PURPLE_BUDDY_TO_SIPE_ACCOUNT_DATA PURPLE_BUDDY_TO_SIPE_CORE_PRIVATE->temporary
84 #define PURPLE_CHAT_TO_SIPE_ACCOUNT_DATA PURPLE_CHAT_TO_SIPE_CORE_PRIVATE->temporary
85 #define PURPLE_GC_TO_SIPE_ACCOUNT_DATA PURPLE_GC_TO_SIPE_CORE_PRIVATE->temporary
86 #define PURPLE_XFER_TO_SIPE_ACCOUNT_DATA PURPLE_XFER_TO_SIPE_CORE_PRIVATE->temporary