libpurple/request.h

branch
release-2.x.y
changeset 39010
fbce915a7024
parent 31293
169eeb43b52c
equal deleted inserted replaced
38982:45020dd8cbd9 39010:fbce915a7024
45 PURPLE_REQUEST_INPUT = 0, /**< Text input request. */ 45 PURPLE_REQUEST_INPUT = 0, /**< Text input request. */
46 PURPLE_REQUEST_CHOICE, /**< Multiple-choice request. */ 46 PURPLE_REQUEST_CHOICE, /**< Multiple-choice request. */
47 PURPLE_REQUEST_ACTION, /**< Action request. */ 47 PURPLE_REQUEST_ACTION, /**< Action request. */
48 PURPLE_REQUEST_FIELDS, /**< Multiple fields request. */ 48 PURPLE_REQUEST_FIELDS, /**< Multiple fields request. */
49 PURPLE_REQUEST_FILE, /**< File open or save request. */ 49 PURPLE_REQUEST_FILE, /**< File open or save request. */
50 PURPLE_REQUEST_FOLDER /**< Folder selection request. */ 50 PURPLE_REQUEST_FOLDER, /**< Folder selection request. */
51 PURPLE_REQUEST_SCREENSHARE /**< Screenshare media request. */
51 52
52 } PurpleRequestType; 53 } PurpleRequestType;
53 54
54 /** 55 /**
55 * A type of field. 56 * A type of field.
244 PurpleConversation *conv, 245 PurpleConversation *conv,
245 gconstpointer icon_data, gsize icon_size, 246 gconstpointer icon_data, gsize icon_size,
246 void *user_data, 247 void *user_data,
247 size_t action_count, va_list actions); 248 size_t action_count, va_list actions);
248 249
250 void *(*request_screenshare_media)(const char *title, const char *primary,
251 const char *secondary, PurpleAccount *account,
252 GCallback cb, void *user_data);
253
249 void (*_purple_reserved1)(void); 254 void (*_purple_reserved1)(void);
250 void (*_purple_reserved2)(void); 255 void (*_purple_reserved2)(void);
251 void (*_purple_reserved3)(void);
252 } PurpleRequestUiOps; 256 } PurpleRequestUiOps;
253 257
254 typedef void (*PurpleRequestInputCb)(void *, const char *); 258 typedef void (*PurpleRequestInputCb)(void *, const char *);
255 259
256 /** The type of callbacks passed to purple_request_action(). The first 260 /** The type of callbacks passed to purple_request_action(). The first
259 */ 263 */
260 typedef void (*PurpleRequestActionCb)(void *, int); 264 typedef void (*PurpleRequestActionCb)(void *, int);
261 typedef void (*PurpleRequestChoiceCb)(void *, int); 265 typedef void (*PurpleRequestChoiceCb)(void *, int);
262 typedef void (*PurpleRequestFieldsCb)(void *, PurpleRequestFields *fields); 266 typedef void (*PurpleRequestFieldsCb)(void *, PurpleRequestFields *fields);
263 typedef void (*PurpleRequestFileCb)(void *, const char *filename); 267 typedef void (*PurpleRequestFileCb)(void *, const char *filename);
268 typedef void (*PurpleRequestScreenshareCb)(void *, GObject *info);
264 269
265 #ifdef __cplusplus 270 #ifdef __cplusplus
266 extern "C" { 271 extern "C" {
267 #endif 272 #endif
268 273
1574 void *purple_request_folder(void *handle, const char *title, const char *dirname, 1579 void *purple_request_folder(void *handle, const char *title, const char *dirname,
1575 GCallback ok_cb, GCallback cancel_cb, 1580 GCallback ok_cb, GCallback cancel_cb,
1576 PurpleAccount *account, const char *who, PurpleConversation *conv, 1581 PurpleAccount *account, const char *who, PurpleConversation *conv,
1577 void *user_data); 1582 void *user_data);
1578 1583
1584
1585 /**
1586 * Displays a dialog allowing the user to select a window/monitor etc. for
1587 * screen sharing. Returns a #PurpleMediaElementInfo to the callback or @c
1588 * NULL if the request is cancelled.
1589 *
1590 * @param handle The plugin or connection handle. For some things this
1591 * is <em>extremely</em> important. See the comments on
1592 * purple_request_input().
1593 * @param title The title of the message, or @c NULL if it should have
1594 * no title.
1595 * @param primary The main point of the message, or @c NULL if you're
1596 * feeling enigmatic.
1597 * @param secondary Secondary information, or @c NULL if there is none.
1598 * @param cb The callback for the @c OK button.
1599 * @param user_data The data to pass to the callback.
1600 *
1601 * @return A UI-specific handle.
1602 */
1603 void *purple_request_screenshare_media(void *handle, const char *title,
1604 const char *primary, const char *secondary,
1605 PurpleAccount *account, GCallback cb,
1606 void *user_data);
1607
1579 /*@}*/ 1608 /*@}*/
1580 1609
1581 /**************************************************************************/ 1610 /**************************************************************************/
1582 /** @name UI Registration Functions */ 1611 /** @name UI Registration Functions */
1583 /**************************************************************************/ 1612 /**************************************************************************/

mercurial