mediamanager.h File Reference

Media Manager API. More...

#include <glib.h>
#include <glib-object.h>
#include "account.h"
#include "media.h"

Include dependency graph for mediamanager.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define PURPLE_TYPE_MEDIA_MANAGER   (purple_media_manager_get_type())
#define PURPLE_MEDIA_MANAGER(obj)   (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManager))
#define PURPLE_MEDIA_MANAGER_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManagerClass))
#define PURPLE_IS_MEDIA_MANAGER(obj)   (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_MANAGER))
#define PURPLE_IS_MEDIA_MANAGER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_MANAGER))
#define PURPLE_MEDIA_MANAGER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManagerClass))

Typedefs

typedef struct _PurpleMediaManager PurpleMediaManager
 An opaque structure representing a group of (usually all) media calls.
typedef struct
_PurpleMediaManagerClass 
PurpleMediaManagerClass
 The GObject class structure of the PurpleMediaManager object.

Functions

Media Manager API
GType purple_media_manager_get_type (void)
 Gets the media manager's GType.
PurpleMediaManagerpurple_media_manager_get (void)
 Gets the "global" media manager object.
PurpleMediapurple_media_manager_create_media (PurpleMediaManager *manager, PurpleAccount *account, const char *conference_type, const char *remote_user, gboolean initiator)
 Creates a media session.
GList * purple_media_manager_get_media (PurpleMediaManager *manager)
 Gets all of the media sessions.
GList * purple_media_manager_get_media_by_account (PurpleMediaManager *manager, PurpleAccount *account)
 Gets all of the media sessions for a given account.
void purple_media_manager_remove_media (PurpleMediaManager *manager, PurpleMedia *media)
 Removes a media session from the media manager.
gboolean purple_media_manager_create_output_window (PurpleMediaManager *manager, PurpleMedia *media, const gchar *session_id, const gchar *participant)
 Signals that output windows should be created for the chosen stream.
gulong purple_media_manager_set_output_window (PurpleMediaManager *manager, PurpleMedia *media, const gchar *session_id, const gchar *participant, gulong window_id)
 Registers a video output window to be created for a given stream.
gboolean purple_media_manager_remove_output_window (PurpleMediaManager *manager, gulong output_window_id)
 Remove a previously registerd output window.
void purple_media_manager_remove_output_windows (PurpleMediaManager *manager, PurpleMedia *media, const gchar *session_id, const gchar *participant)
 Remove all output windows for a given conference/session/participant/stream.
void purple_media_manager_set_ui_caps (PurpleMediaManager *manager, PurpleMediaCaps caps)
 Sets which media caps the UI supports.
PurpleMediaCaps purple_media_manager_get_ui_caps (PurpleMediaManager *manager)
 Gets which media caps the UI supports.
void purple_media_manager_set_backend_type (PurpleMediaManager *manager, GType backend_type)
 Sets which media backend type media objects will use.
GType purple_media_manager_get_backend_type (PurpleMediaManager *manager)
 Gets which media backend type media objects will use.


Detailed Description

Media Manager API.

Definition in file mediamanager.h.


Typedef Documentation

typedef struct _PurpleMediaManager PurpleMediaManager

An opaque structure representing a group of (usually all) media calls.

Definition at line 34 of file mediamanager.h.

typedef struct _PurpleMediaManagerClass PurpleMediaManagerClass

The GObject class structure of the PurpleMediaManager object.

Definition at line 36 of file mediamanager.h.


Function Documentation

PurpleMedia* purple_media_manager_create_media ( PurpleMediaManager manager,
PurpleAccount account,
const char *  conference_type,
const char *  remote_user,
gboolean  initiator 
)

Creates a media session.

Parameters:
manager The media manager to create the session under.
account The account to create the session on.
conference_type The conference type to feed into Farsight2.
remote_user The remote user to initiate the session with.
initiator TRUE if the local user is the initiator of this media call, FALSE otherwise.
Returns:
A newly created media session.
Since:
2.6.0

gboolean purple_media_manager_create_output_window ( PurpleMediaManager manager,
PurpleMedia media,
const gchar *  session_id,
const gchar *  participant 
)

Signals that output windows should be created for the chosen stream.

This shouldn't be called outside of mediamanager.c and media.c

Parameters:
manager Manager the output windows are registered with.
media Media session the output windows are registered for.
session_id The session the output windows are registered with.
participant The participant the output windows are registered with.
Returns:
TRUE if it succeeded, FALSE if it failed.
Since:
2.6.0

PurpleMediaManager* purple_media_manager_get ( void   ) 

Gets the "global" media manager object.

It's created if it doesn't already exist.

Returns:
The "global" instance of the media manager object.
Since:
2.6.0

GType purple_media_manager_get_backend_type ( PurpleMediaManager manager  ) 

Gets which media backend type media objects will use.

Parameters:
manager The manager to get the media backend type from.
Returns:
The type of media backend type media objects will use.
Since:
2.7.0

GList* purple_media_manager_get_media ( PurpleMediaManager manager  ) 

Gets all of the media sessions.

Parameters:
manager The media manager to get all of the sessions from.
Returns:
A list of all the media sessions.
Since:
2.6.0

GList* purple_media_manager_get_media_by_account ( PurpleMediaManager manager,
PurpleAccount account 
)

Gets all of the media sessions for a given account.

Parameters:
manager The media manager to get the sessions from.
account The account the sessions are on.
Returns:
A list of the media sessions on the given account.
Since:
2.6.0

GType purple_media_manager_get_type ( void   ) 

Gets the media manager's GType.

Returns:
The media manager's GType.
Since:
2.6.0

PurpleMediaCaps purple_media_manager_get_ui_caps ( PurpleMediaManager manager  ) 

Gets which media caps the UI supports.

Parameters:
manager The manager to get caps from.
Returns:
caps The caps retrieved.
Since:
2.6.0

void purple_media_manager_remove_media ( PurpleMediaManager manager,
PurpleMedia media 
)

Removes a media session from the media manager.

Parameters:
manager The media manager to remove the media session from.
media The media session to remove.
Since:
2.6.0

gboolean purple_media_manager_remove_output_window ( PurpleMediaManager manager,
gulong  output_window_id 
)

Remove a previously registerd output window.

Parameters:
manager The manager the output window was registered with.
output_window_id The ID of the output window.
Returns:
TRUE if it found the output window and was successful, else FALSE.
Since:
2.6.0

void purple_media_manager_remove_output_windows ( PurpleMediaManager manager,
PurpleMedia media,
const gchar *  session_id,
const gchar *  participant 
)

Remove all output windows for a given conference/session/participant/stream.

Parameters:
manager The manager the output windows were registered with.
media The media instance the output windows were registered for.
session_id The session the output windows were registered for.
participant The participant the output windows were registered for.
Since:
2.6.0

void purple_media_manager_set_backend_type ( PurpleMediaManager manager,
GType  backend_type 
)

Sets which media backend type media objects will use.

Parameters:
manager The manager to set the caps on.
backend_type The media backend type to use.
Since:
2.7.0

gulong purple_media_manager_set_output_window ( PurpleMediaManager manager,
PurpleMedia media,
const gchar *  session_id,
const gchar *  participant,
gulong  window_id 
)

Registers a video output window to be created for a given stream.

Parameters:
manager The manager to register the output window with.
media The media instance to find the stream in.
session_id The session the stream is associated with.
participant The participant the stream is associated with.
window_id The window ID to embed the video in.
Returns:
A unique ID to the registered output window, 0 if it failed.
Since:
2.6.0

void purple_media_manager_set_ui_caps ( PurpleMediaManager manager,
PurpleMediaCaps  caps 
)

Sets which media caps the UI supports.

Parameters:
manager The manager to set the caps on.
caps The caps to set.
Since:
2.6.0