#include <glib-object.h>
#include <dbus/dbus-glib.h>
#include <telepathy-glib/dbus-properties-mixin.h>

G_BEGIN_DECLS

typedef struct _TpSvcCallContentMediaDescription TpSvcCallContentMediaDescription;

typedef struct _TpSvcCallContentMediaDescriptionClass TpSvcCallContentMediaDescriptionClass;

GType tp_svc_call_content_media_description_get_type (void);
#define TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION \
  (tp_svc_call_content_media_description_get_type ())
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION, TpSvcCallContentMediaDescription))
#define TP_IS_SVC_CALL_CONTENT_MEDIA_DESCRIPTION(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION))
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_INTERFACE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION, TpSvcCallContentMediaDescriptionClass))


typedef void (*tp_svc_call_content_media_description_accept_impl) (TpSvcCallContentMediaDescription *self,
    GHashTable *in_Local_Media_Description,
    DBusGMethodInvocation *context);
void tp_svc_call_content_media_description_implement_accept (TpSvcCallContentMediaDescriptionClass *klass, tp_svc_call_content_media_description_accept_impl impl);
static inline
/* this comment is to stop gtkdoc realising this is static */
void tp_svc_call_content_media_description_return_from_accept (DBusGMethodInvocation *context);
static inline void
tp_svc_call_content_media_description_return_from_accept (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*tp_svc_call_content_media_description_reject_impl) (TpSvcCallContentMediaDescription *self,
    const GValueArray *in_Reason,
    DBusGMethodInvocation *context);
void tp_svc_call_content_media_description_implement_reject (TpSvcCallContentMediaDescriptionClass *klass, tp_svc_call_content_media_description_reject_impl impl);
static inline
/* this comment is to stop gtkdoc realising this is static */
void tp_svc_call_content_media_description_return_from_reject (DBusGMethodInvocation *context);
static inline void
tp_svc_call_content_media_description_return_from_reject (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}


typedef struct _TpSvcCallContentMediaDescriptionInterfaceRTCPExtendedReports TpSvcCallContentMediaDescriptionInterfaceRTCPExtendedReports;

typedef struct _TpSvcCallContentMediaDescriptionInterfaceRTCPExtendedReportsClass TpSvcCallContentMediaDescriptionInterfaceRTCPExtendedReportsClass;

GType tp_svc_call_content_media_description_interface_rtcp_extended_reports_get_type (void);
#define TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS \
  (tp_svc_call_content_media_description_interface_rtcp_extended_reports_get_type ())
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS, TpSvcCallContentMediaDescriptionInterfaceRTCPExtendedReports))
#define TP_IS_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS))
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_INTERFACE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_EXTENDED_REPORTS, TpSvcCallContentMediaDescriptionInterfaceRTCPExtendedReportsClass))



typedef struct _TpSvcCallContentMediaDescriptionInterfaceRTCPFeedback TpSvcCallContentMediaDescriptionInterfaceRTCPFeedback;

typedef struct _TpSvcCallContentMediaDescriptionInterfaceRTCPFeedbackClass TpSvcCallContentMediaDescriptionInterfaceRTCPFeedbackClass;

GType tp_svc_call_content_media_description_interface_rtcp_feedback_get_type (void);
#define TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK \
  (tp_svc_call_content_media_description_interface_rtcp_feedback_get_type ())
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK, TpSvcCallContentMediaDescriptionInterfaceRTCPFeedback))
#define TP_IS_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK))
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_INTERFACE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTCP_FEEDBACK, TpSvcCallContentMediaDescriptionInterfaceRTCPFeedbackClass))



typedef struct _TpSvcCallContentMediaDescriptionInterfaceRTPHeaderExtensions TpSvcCallContentMediaDescriptionInterfaceRTPHeaderExtensions;

typedef struct _TpSvcCallContentMediaDescriptionInterfaceRTPHeaderExtensionsClass TpSvcCallContentMediaDescriptionInterfaceRTPHeaderExtensionsClass;

GType tp_svc_call_content_media_description_interface_rtp_header_extensions_get_type (void);
#define TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS \
  (tp_svc_call_content_media_description_interface_rtp_header_extensions_get_type ())
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS, TpSvcCallContentMediaDescriptionInterfaceRTPHeaderExtensions))
#define TP_IS_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS))
#define TP_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_INTERFACE((obj), TP_TYPE_SVC_CALL_CONTENT_MEDIA_DESCRIPTION_INTERFACE_RTP_HEADER_EXTENSIONS, TpSvcCallContentMediaDescriptionInterfaceRTPHeaderExtensionsClass))




G_END_DECLS
