telepathy-glib API Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
TpBaseCallChannelTpBaseCallChannel — base class for TpSvcChannelTypeCall implementations |
Synopsis
#include <telepathy-glib/telepathy-glib.h> TpBaseCallChannel; struct TpBaseCallChannelClass; void (*TpBaseCallChannelVoidFunc) (TpBaseCallChannel *self
); TpBaseCallContent * (*TpBaseCallChannelAddContentFunc) (TpBaseCallChannel *self
,const gchar *name
,TpMediaStreamType media
,TpMediaStreamDirection initial_direction
,GError **error
); void (*TpBaseCallChannelHangupFunc) (TpBaseCallChannel *self
,TpCallStateChangeReason reason
,const gchar *detailed_reason
,const gchar *message
); TpCallState tp_base_call_channel_get_state (TpBaseCallChannel *self
); void tp_base_call_channel_set_state (TpBaseCallChannel *self
,TpCallState state
,guint actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
); gboolean tp_base_call_channel_has_initial_audio (TpBaseCallChannel *self
,const gchar **initial_audio_name
); gboolean tp_base_call_channel_has_initial_video (TpBaseCallChannel *self
,const gchar **initial_video_name
); gboolean tp_base_call_channel_has_mutable_contents (TpBaseCallChannel *self
); GList * tp_base_call_channel_get_contents (TpBaseCallChannel *self
); void tp_base_call_channel_add_content (TpBaseCallChannel *self
,TpBaseCallContent *content
); void tp_base_call_channel_remove_content (TpBaseCallChannel *self
,TpBaseCallContent *content
,TpHandle actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
); void tp_base_call_channel_update_member_flags (TpBaseCallChannel *self
,TpHandle contact
,TpCallMemberFlags new_flags
,TpHandle actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
); void tp_base_call_channel_remove_member (TpBaseCallChannel *self
,TpHandle contact
,TpHandle actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
); GHashTable * tp_base_call_channel_get_call_members (TpBaseCallChannel *self
); void tp_base_call_channel_remote_accept (TpBaseCallChannel *self
); gboolean tp_base_call_channel_is_accepted (TpBaseCallChannel *self
);
Implemented Interfaces
TpBaseCallChannel implements TpSvcDBusProperties, TpSvcChannel, TpChannelIface, TpExportableChannel, TpSvcChannelTypeCall and TpSvcChannelInterfaceDTMF.
Properties
"call-flags" guint : Read "call-members" GHashTable_guint+guint_* : Read "call-state" guint : Read "call-state-details" GHashTable_gchararray+GValue_* : Read "call-state-reason" GValueArray_guint+guint+gchararray+gchararray_* : Read "contents" GPtrArray_DBusGObjectPath_* : Read "hardware-streaming" gboolean : Read "initial-audio" gboolean : Read / Write / Construct Only "initial-audio-name" gchar* : Read / Write / Construct Only "initial-tones" gchar* : Read / Write / Construct Only "initial-transport" guint : Read / Write / Construct Only "initial-video" gboolean : Read / Write / Construct Only "initial-video-name" gchar* : Read / Write / Construct Only "member-identifiers" GHashTable_guint+gchararray_* : Read "mutable-contents" gboolean : Read / Write / Construct Only
Description
This base class makes it easier to write TpSvcChannelTypeCall implementations by implementing its properties, and some of its methods.
Subclasses should fill in TpBaseCallChannelClass.accept, TpBaseCallChannelClass.add_content and TpBaseCallChannelClass.hangup virtual function.
Details
TpBaseCallChannel
typedef struct _TpBaseCallChannel TpBaseCallChannel;
A base class for call channel implementations
Since 0.17.5
struct TpBaseCallChannelClass
struct TpBaseCallChannelClass { TpBaseCallChannelVoidFunc set_ringing; TpBaseCallChannelVoidFunc set_queued; TpBaseCallChannelVoidFunc accept; TpBaseCallChannelAddContentFunc add_content; TpBaseCallChannelHangupFunc hangup; };
The class structure for TpBaseCallChannel
TpBaseCallChannelVoidFunc |
Notify members that client is ringing. |
TpBaseCallChannelVoidFunc |
Notify members that call is queued. |
TpBaseCallChannelVoidFunc |
accept the call. Note that TpBaseMediaCallChannel subclasses should not override this virtual method, but TpBaseMediaCallChannelClass.accept instead. |
TpBaseCallChannelAddContentFunc |
add content to the call. Implementation must call
tp_base_call_channel_add_content() . Can be NULL if
"mutable-contents" is FALSE . |
TpBaseCallChannelHangupFunc |
hangup the call. |
Since 0.17.5
TpBaseCallChannelVoidFunc ()
void (*TpBaseCallChannelVoidFunc) (TpBaseCallChannel *self
);
Signature of an implementation of TpBaseCallChannelClass.set_ringing, TpBaseCallChannelClass.set_queued and TpBaseCallChannelClass.accept.
|
a TpBaseCallChannel |
Since 0.17.5
TpBaseCallChannelAddContentFunc ()
TpBaseCallContent * (*TpBaseCallChannelAddContentFunc) (TpBaseCallChannel *self
,const gchar *name
,TpMediaStreamType media
,TpMediaStreamDirection initial_direction
,GError **error
);
Signature of an implementation of TpBaseCallChannelClass.add_content.
|
a TpBaseCallChannel |
|
the name for the new content |
|
a TpMediaStreamType |
|
the desired initial direction of streams in the new content |
|
a GError to fill |
Returns : |
a borrowed TpBaseCallContent. |
Since 0.17.5
TpBaseCallChannelHangupFunc ()
void (*TpBaseCallChannelHangupFunc) (TpBaseCallChannel *self
,TpCallStateChangeReason reason
,const gchar *detailed_reason
,const gchar *message
);
Signature of an implementation of TpBaseCallChannelClass.hangup.
|
a TpBaseCallChannel |
|
the TpCallStateChangeReason of the change |
|
a more specific reason for the call hangup, if one is available, or an empty string otherwise. |
|
a human-readable message to be sent to the remote contact(s). |
Since 0.17.5
tp_base_call_channel_get_state ()
TpCallState tp_base_call_channel_get_state (TpBaseCallChannel *self
);
|
a TpBaseCallChannel |
Returns : |
the value of "call-state" |
Since 0.17.5
tp_base_call_channel_set_state ()
void tp_base_call_channel_set_state (TpBaseCallChannel *self
,TpCallState state
,guint actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
);
Changes the call state and emit StateChanged signal with the new state.
|
a TpBaseCallChannel |
|
the new TpCallState |
|
the contact responsible for the change, or 0 if no contact was responsible. |
|
the TpCallStateChangeReason of the change |
|
a specific reason for the change, which may be a D-Bus error in the Telepathy namespace, a D-Bus error in any other namespace (for implementation-specific errors), or the empty string to indicate that the state change was not an error. |
|
an optional debug message, to expediate debugging the potentially many processes involved in a call. |
Since 0.17.5
tp_base_call_channel_has_initial_audio ()
gboolean tp_base_call_channel_has_initial_audio (TpBaseCallChannel *self
,const gchar **initial_audio_name
);
|
a TpBaseCallChannel |
|
a place to set the value of "initial-audio-name". [out][allow-none][transfer none] |
Returns : |
the value of "initial-audio" |
Since 0.17.5
tp_base_call_channel_has_initial_video ()
gboolean tp_base_call_channel_has_initial_video (TpBaseCallChannel *self
,const gchar **initial_video_name
);
|
a TpBaseCallChannel |
|
a place to set the value of "initial-video-name". [out][allow-none][transfer none] |
Returns : |
the value of "initial-video" |
Since 0.17.5
tp_base_call_channel_has_mutable_contents ()
gboolean tp_base_call_channel_has_mutable_contents
(TpBaseCallChannel *self
);
|
a TpBaseCallChannel |
Returns : |
the value of "mutable-contents" |
Since 0.17.5
tp_base_call_channel_get_contents ()
GList * tp_base_call_channel_get_contents (TpBaseCallChannel *self
);
Get the contents of this call. The GList and its elements must not be freed and should be copied before doing any modification.
|
a TpBaseCallChannel |
Returns : |
a GList of TpBaseCallContent |
Since 0.17.5
tp_base_call_channel_add_content ()
void tp_base_call_channel_add_content (TpBaseCallChannel *self
,TpBaseCallContent *content
);
Add content
to self
. If content
's "disposition" is
TP_CALL_CONTENT_DISPOSITION_INITIAL
, also set
"initial-audio" and "initial-audio-name"
properties (or "initial-video" and
"initial-video-name").
Note that it is not allowed to add INITIAL contents after having registered
self
on the bus.
|
a TpBaseCallChannel |
|
a TpBaseCallContent to add |
Since 0.17.5
tp_base_call_channel_remove_content ()
void tp_base_call_channel_remove_content (TpBaseCallChannel *self
,TpBaseCallContent *content
,TpHandle actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
);
Remove content
from self
.
|
a TpBaseCallChannel |
|
a TpBaseCallContent to remove |
|
the contact responsible for the change, or 0 if no contact was responsible. |
|
the TpCallStateChangeReason of the change |
|
a specific reason for the change, which may be a D-Bus error in the Telepathy namespace, a D-Bus error in any other namespace (for implementation-specific errors), or the empty string to indicate that the state change was not an error. |
|
an optional debug message, to expediate debugging the potentially many processes involved in a call. |
Since 0.17.5
tp_base_call_channel_update_member_flags ()
void tp_base_call_channel_update_member_flags (TpBaseCallChannel *self
,TpHandle contact
,TpCallMemberFlags new_flags
,TpHandle actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
);
Add or update contact
call member with flags
flags.
|
a TpBaseCallChannel |
|
the contact to update |
|
the new TpCallMemberFlags of contact
|
|
the contact responsible for the change, or 0 if no contact was responsible. |
|
the TpCallStateChangeReason of the change |
|
a specific reason for the change, which may be a D-Bus error in the Telepathy namespace, a D-Bus error in any other namespace (for implementation-specific errors), or the empty string to indicate that the state change was not an error. |
|
an optional debug message, to expediate debugging the potentially many processes involved in a call. |
Since 0.17.5
tp_base_call_channel_remove_member ()
void tp_base_call_channel_remove_member (TpBaseCallChannel *self
,TpHandle contact
,TpHandle actor_handle
,TpCallStateChangeReason reason
,const gchar *dbus_reason
,const gchar *message
);
Remove contact
from call members.
|
a TpBaseCallChannel |
|
the contact to remove |
|
the contact responsible for the change, or 0 if no contact was responsible. |
|
the TpCallStateChangeReason of the change |
|
a specific reason for the change, which may be a D-Bus error in the Telepathy namespace, a D-Bus error in any other namespace (for implementation-specific errors), or the empty string to indicate that the state change was not an error. |
|
an optional debug message, to expediate debugging the potentially many processes involved in a call. |
Since 0.17.5
tp_base_call_channel_get_call_members ()
GHashTable * tp_base_call_channel_get_call_members
(TpBaseCallChannel *self
);
|
a TpBaseCallChannel |
Returns : |
the value of "call-members". |
Since 0.17.5
tp_base_call_channel_remote_accept ()
void tp_base_call_channel_remote_accept (TpBaseCallChannel *self
);
Must be called when the remote contact accepted the call.
"call-state" must be either TP_CALL_STATE_INITIALISED
or
TP_CALL_STATE_INITIALISING
and will then change to TP_CALL_STATE_ACCEPTED
.
Must be used only for outgoing calls.
|
a TpBaseCallChannel |
Since 0.17.5
tp_base_call_channel_is_accepted ()
gboolean tp_base_call_channel_is_accepted (TpBaseCallChannel *self
);
|
a TpBaseCallChannel |
Returns : |
Whether or not the call has been remotely accepted. |
Since 0.17.5
Property Details
The "call-flags"
property
"call-flags" guint : Read
The flags of this call.
Default value: 0
Since 0.17.5
The "call-members"
property
"call-members" GHashTable_guint+guint_* : Read
GHashTable mapping TpHandle of each call member to their TpCallMemberFlags.
Since 0.17.5
The "call-state"
property
"call-state" guint : Read
The state of this call.
Default value: 0
Since 0.17.5
The "call-state-details"
property
"call-state-details" GHashTable_gchararray+GValue_* : Read
Details on the call state.
Since 0.17.5
The "call-state-reason"
property
"call-state-reason" GValueArray_guint+guint+gchararray+gchararray_* : Read
The reason for last call state change.
Since 0.17.5
The "contents"
property
"contents" GPtrArray_DBusGObjectPath_* : Read
GPtrArray of object-paths of the TpBaseCallContent objects.
Since 0.17.5
The "hardware-streaming"
property
"hardware-streaming" gboolean : Read
Indicate to clients whether or not this Connection Manager has hardware streaming.
Default value: FALSE
Since 0.17.5
The "initial-audio"
property
"initial-audio" gboolean : Read / Write / Construct Only
If set to TRUE
on a requested channel, subclass should immediately attempt
to establish an audio stream to the remote contact.
Default value: FALSE
Since 0.17.5
The "initial-audio-name"
property
"initial-audio-name" gchar* : Read / Write / Construct Only
Name to use to create the audio TpBaseCallContent if
"initial-audio" is set to TRUE
.
Default value: "audio"
Since 0.17.5
The "initial-tones"
property
"initial-tones" gchar* : Read / Write / Construct Only
DTMF Tones to be played on the channel created.
Default value: ""
Since 0.17.5
The "initial-transport"
property
"initial-transport" guint : Read / Write / Construct Only
If set to TRUE
on a requested channel, this indicates the transport that
should be used for this call.
Default value: 0
Since 0.17.5
The "initial-video"
property
"initial-video" gboolean : Read / Write / Construct Only
If set to TRUE
on a requested channel, subclass should immediately attempt
to establish a video stream to the remote contact.
Default value: FALSE
Since 0.17.5
The "initial-video-name"
property
"initial-video-name" gchar* : Read / Write / Construct Only
Name to use to create the video TpBaseCallContent if
"initial-video" is set to TRUE
.
Default value: "video"
Since 0.17.5
The "member-identifiers"
property
"member-identifiers" GHashTable_guint+gchararray_* : Read
GHashTable mapping TpHandle of each call member to their identifiers.
Since 0.17.5
The "mutable-contents"
property
"mutable-contents" gboolean : Read / Write / Construct Only
Indicate to clients whether or not they can add/remove contents.
Default value: FALSE
Since 0.17.5