TpBaseCallContent

TpBaseCallContent — base class for TpSvcCallContent implementations

Synopsis

#include <telepathy-glib/telepathy-glib.h>

                    TpBaseCallContent;
struct              TpBaseCallContentClass;
GPtrArray *         (*TpBaseCallContentGetInterfacesFunc)
                                                        (TpBaseCallContent *self);
void                (*TpBaseCallContentDeinitFunc)      (TpBaseCallContent *self);
gboolean            (*TpBaseCallContentMultipleTonesFunc)
                                                        (TpBaseCallContent *self,
                                                         const gchar *tones,
                                                         GError **error);
gboolean            (*TpBaseCallContentStartToneFunc)   (TpBaseCallContent *self,
                                                         TpDTMFEvent event,
                                                         GError **error);
gboolean            (*TpBaseCallContentStopToneFunc)    (TpBaseCallContent *self,
                                                         GError **error);
TpBaseConnection *  tp_base_call_content_get_connection (TpBaseCallContent *self);
const gchar *       tp_base_call_content_get_object_path
                                                        (TpBaseCallContent *self);
const gchar *       tp_base_call_content_get_name       (TpBaseCallContent *self);
TpMediaStreamType   tp_base_call_content_get_media_type (TpBaseCallContent *self);
TpCallContentDisposition tp_base_call_content_get_disposition
                                                        (TpBaseCallContent *self);
GList *             tp_base_call_content_get_streams    (TpBaseCallContent *self);
void                tp_base_call_content_add_stream     (TpBaseCallContent *self,
                                                         TpBaseCallStream *stream);
void                tp_base_call_content_remove_stream  (TpBaseCallContent *self,
                                                         TpBaseCallStream *stream,
                                                         TpHandle actor_handle,
                                                         TpCallStateChangeReason reason,
                                                         const gchar *dbus_reason,
                                                         const gchar *message);

Object Hierarchy

  GObject
   +----TpBaseCallContent
         +----TpBaseMediaCallContent

Implemented Interfaces

TpBaseCallContent implements TpSvcDBusProperties, TpSvcCallContent and TpSvcCallContentInterfaceDTMF.

Properties

  "connection"               TpBaseConnection*     : Read / Write / Construct Only
  "creator"                  guint                 : Read / Write / Construct Only
  "currently-sending-tones"  gboolean              : Read
  "deferred-tones"           gchar*                : Read
  "disposition"              guint                 : Read / Write / Construct Only
  "interfaces"               GStrv                 : Read
  "media-type"               guint                 : Read / Write / Construct Only
  "name"                     gchar*                : Read / Write / Construct Only
  "object-path"              gchar*                : Read / Write / Construct Only
  "streams"                  GPtrArray_DBusGObjectPath_*  : Read

Description

This base class makes it easier to write TpSvcCallContent implementations by implementing its properties, and some of its methods.

Subclasses should fill in TpBaseCallContentClass.get_interfaces, and TpBaseCallContentClass.deinit virtual function.

Details

TpBaseCallContent

typedef struct _TpBaseCallContent TpBaseCallContent;

A base class for call content implementations

Since 0.17.5


struct TpBaseCallContentClass

struct TpBaseCallContentClass {
  TpBaseCallContentDeinitFunc deinit;
  TpBaseCallContentGetInterfacesFunc get_interfaces;

  TpBaseCallContentStartToneFunc start_tone;
  TpBaseCallContentStopToneFunc stop_tone;
  TpBaseCallContentMultipleTonesFunc multiple_tones;
};

The class structure for TpBaseCallContent

TpBaseCallContentDeinitFunc deinit;

optional; virtual method called by TpBaseCallChannel when removing the content

TpBaseCallContentGetInterfacesFunc get_interfaces;

extra interfaces provided by this content (this SHOULD NOT include TP_IFACE_CALL_CONTENT itself). Implementation must first chainup on parent class implementation then add extra interfaces into the GPtrArray.

TpBaseCallContentStartToneFunc start_tone;

optional; virtual method called when user requested to send a DTMF tone. Note that this method is already implemented by TpBaseMediaCallContent and so does not have to be overriden when using that subclass

TpBaseCallContentStopToneFunc stop_tone;

optional; virtual method called when user requested to stop sending currently being played DTMF tones. Note that this method is already implemented by TpBaseMediaCallContent and so does not have to be overriden when using that subclass

TpBaseCallContentMultipleTonesFunc multiple_tones;

optional; virtual method called when user requested to send multiple DTMF tones. Note that this method is already implemented by TpBaseMediaCallContent and so does not have to be overriden when using that subclass

Since 0.17.5


TpBaseCallContentGetInterfacesFunc ()

GPtrArray *         (*TpBaseCallContentGetInterfacesFunc)
                                                        (TpBaseCallContent *self);

Signature of an implementation of TpBaseCallContentClass.get_interfaces.

self :

a TpBaseCallContent

Returns :

a GPtrArray containing static strings.

Since 0.17.5


TpBaseCallContentDeinitFunc ()

void                (*TpBaseCallContentDeinitFunc)      (TpBaseCallContent *self);

Signature of an implementation of TpBaseCallContentClass.deinit.

self :

a TpBaseCallContent

Since 0.17.5


TpBaseCallContentMultipleTonesFunc ()

gboolean            (*TpBaseCallContentMultipleTonesFunc)
                                                        (TpBaseCallContent *self,
                                                         const gchar *tones,
                                                         GError **error);

Signature of an implementation of TpBaseCallContentClass.multiple_tones.

self :

a TpBaseCallContent

tones :

a string representation of one or more DTMF events

error :

a GError to fill

Returns :

TRUE on success, otherwise FALSE and set error

Since 0.17.5


TpBaseCallContentStartToneFunc ()

gboolean            (*TpBaseCallContentStartToneFunc)   (TpBaseCallContent *self,
                                                         TpDTMFEvent event,
                                                         GError **error);

Signature of an implementation of TpBaseCallContentClass.start_tone.

self :

a TpBaseCallContent

event :

a TpDTMFEvent

error :

a GError to fill

Returns :

TRUE on success, otherwise FALSE and set error

Since 0.17.5


TpBaseCallContentStopToneFunc ()

gboolean            (*TpBaseCallContentStopToneFunc)    (TpBaseCallContent *self,
                                                         GError **error);

Signature of an implementation of TpBaseCallContentClass.stop_tone.

self :

a TpBaseCallContent

error :

a GError to fill

Returns :

TRUE on success, otherwise FALSE and set error

Since 0.17.5


tp_base_call_content_get_connection ()

TpBaseConnection *  tp_base_call_content_get_connection (TpBaseCallContent *self);

self :

a TpBaseCallContent

Returns :

the value of "connection"

Since 0.17.5


tp_base_call_content_get_object_path ()

const gchar *       tp_base_call_content_get_object_path
                                                        (TpBaseCallContent *self);

self :

a TpBaseCallContent

Returns :

the value of "object-path"

Since 0.17.5


tp_base_call_content_get_name ()

const gchar *       tp_base_call_content_get_name       (TpBaseCallContent *self);

self :

a TpBaseCallContent

Returns :

the value of "name"

Since 0.17.5


tp_base_call_content_get_media_type ()

TpMediaStreamType   tp_base_call_content_get_media_type (TpBaseCallContent *self);

self :

a TpBaseCallContent

Returns :

the value of "media-type"

Since 0.17.5


tp_base_call_content_get_disposition ()

TpCallContentDisposition tp_base_call_content_get_disposition
                                                        (TpBaseCallContent *self);

self :

a TpBaseCallContent

Returns :

the value of "disposition"

Since 0.17.5


tp_base_call_content_get_streams ()

GList *             tp_base_call_content_get_streams    (TpBaseCallContent *self);

self :

a TpBaseCallContent

Returns :

a GList of TpBaseCallStream of this content.

Since 0.17.5


tp_base_call_content_add_stream ()

void                tp_base_call_content_add_stream     (TpBaseCallContent *self,
                                                         TpBaseCallStream *stream);

Add stream to self's "streams". Emitting StreamsAdded DBus signal.

self :

a TpBaseCallContent

stream :

a TpBaseCallStream

Since 0.17.5


tp_base_call_content_remove_stream ()

void                tp_base_call_content_remove_stream  (TpBaseCallContent *self,
                                                         TpBaseCallStream *stream,
                                                         TpHandle actor_handle,
                                                         TpCallStateChangeReason reason,
                                                         const gchar *dbus_reason,
                                                         const gchar *message);

Remove stream from self's "streams". Emitting StreamsRemoved DBus signal.

self :

a TpBaseCallContent

stream :

a TpBaseCallStream

actor_handle :

the contact responsible for the change, or 0 if no contact was responsible.

reason :

the TpCallStateChangeReason of the change

dbus_reason :

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.

message :

an optional debug message, to expediate debugging the potentially many processes involved in a call.

Since 0.17.5

Property Details

The "connection" property

  "connection"               TpBaseConnection*     : Read / Write / Construct Only

TpBaseConnection object that owns this call content.

Since 0.17.5


The "creator" property

  "creator"                  guint                 : Read / Write / Construct Only

The contact TpHandle of the creator of this content.

Default value: 0

Since 0.17.5


The "currently-sending-tones" property

  "currently-sending-tones"  gboolean              : Read

If this content is currently sending tones or not

Default value: FALSE

Since 0.17.5


The "deferred-tones" property

  "deferred-tones"           gchar*                : Read

Tones that are waiting for the user action to play.

Default value: NULL

Since 0.17.5


The "disposition" property

  "disposition"              guint                 : Read / Write / Construct Only

The TpCallContentDisposition of this content.

Default value: 0

Since 0.17.5


The "interfaces" property

  "interfaces"               GStrv                 : Read

Additional interfaces implemented by this content.

Since 0.17.5


The "media-type" property

  "media-type"               guint                 : Read / Write / Construct Only

The TpMediaStreamType of this content.

Default value: 0

Since 0.17.5


The "name" property

  "name"                     gchar*                : Read / Write / Construct Only

The name of this content, if any.

Default value: ""

Since 0.17.5


The "object-path" property

  "object-path"              gchar*                : Read / Write / Construct Only

The D-Bus object path used for this object on the bus.

Default value: NULL

Since 0.17.5


The "streams" property

  "streams"                  GPtrArray_DBusGObjectPath_*  : Read

A GPtrArray of this content streams' "object-path".

Since 0.17.5

See Also

TpSvcCallContent, TpBaseCallChannel and TpBaseCallStream