audio: more depurpling
[siplcs.git] / src / api / core-depurple.h
blobe719fd4f8de0241dba7faa4704cd2a94874d6fb1
1 /**
2 * @file core-depurple.h
4 * pidgin-sipe
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,
42 PurpleGroup *group);
43 void sipe_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy,
44 PurpleGroup *group);
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);
56 /**
57 * Initiates outgoing file transfer, sending @c file to remote peer identified
58 * by @c who.
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,
65 const char *file);
67 /**
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,
74 const char *who);
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