libpurple/prpl.c

branch
soc.2008.vv
changeset 26099
2ba28e840a95
parent 22251
a7c65a128467
child 26106
afdca955b6f4
equal deleted inserted replaced
26098:687b599c3a31 26099:2ba28e840a95
409 return plugin; 409 return plugin;
410 } 410 }
411 411
412 return NULL; 412 return NULL;
413 } 413 }
414
415
416
417 PurpleMedia *
418 purple_prpl_initiate_media(PurpleAccount *account,
419 const char *who,
420 PurpleMediaStreamType type)
421 {
422 #ifdef USE_VV
423 PurpleConnection *gc = NULL;
424 PurplePlugin *prpl = NULL;
425 PurplePluginProtocolInfo *prpl_info = NULL;
426
427 if (account)
428 gc = purple_account_get_connection(account);
429 if (gc)
430 prpl = purple_connection_get_prpl(gc);
431 if (prpl)
432 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
433
434 if (prpl_info && prpl_info->initiate_media) {
435 /* should check that the protocol supports this media type here? */
436 return prpl_info->initiate_media(gc, who, type);
437 } else {
438 return NULL;
439 }
440 #else
441 return NULL;
442 #endif
443 }
444
445 gboolean
446 purple_prpl_can_do_media(PurpleAccount *account,
447 const char *who,
448 PurpleMediaStreamType type)
449 {
450 #ifdef USE_VV
451 PurpleConnection *gc = NULL;
452 PurplePlugin *prpl = NULL;
453 PurplePluginProtocolInfo *prpl_info = NULL;
454
455 if (account)
456 gc = purple_account_get_connection(account);
457 if (gc)
458 prpl = purple_connection_get_prpl(gc);
459 if (prpl)
460 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
461
462 if (prpl_info && prpl_info->can_do_media) {
463 return prpl_info->can_do_media(gc, who, type);
464 } else {
465 return FALSE;
466 }
467 #else
468 return FALSE;
469 #endif
470 }
471

mercurial