| 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 |