#include <glib-object.h>
#include <dbus/dbus-glib.h>

G_BEGIN_DECLS

/**
 * McSvcNMC4:
 *
 * Dummy typedef representing any implementation of this interface.
 */
typedef struct _McSvcNMC4 McSvcNMC4;

/**
 * McSvcNMC4Class:
 *
 * The class of McSvcNMC4.
 */
typedef struct _McSvcNMC4Class McSvcNMC4Class;

GType mc_svc_nmc4_get_type (void);
#define MC_TYPE_SVC_NMC4 \
  (mc_svc_nmc4_get_type ())
#define MC_SVC_NMC4(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), MC_TYPE_SVC_NMC4, McSvcNMC4))
#define MC_IS_SVC_NMC4(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), MC_TYPE_SVC_NMC4))
#define MC_SVC_NMC4_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_INTERFACE((obj), MC_TYPE_SVC_NMC4, McSvcNMC4Class))


typedef void (*mc_svc_nmc4_set_presence_impl) (McSvcNMC4 *self,
    guint in_presence,
    const gchar *in_message,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_set_presence (McSvcNMC4Class *klass, mc_svc_nmc4_set_presence_impl impl);
/**
 * mc_svc_nmc4_return_from_set_presence:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_set_presence (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_set_presence (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*mc_svc_nmc4_get_presence_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_presence (McSvcNMC4Class *klass, mc_svc_nmc4_get_presence_impl impl);
/**
 * mc_svc_nmc4_return_from_get_presence:
 * @context: The D-Bus method invocation context
 * @out0: guint  (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_presence (DBusGMethodInvocation *context,
    guint out0);
static inline void
mc_svc_nmc4_return_from_get_presence (DBusGMethodInvocation *context,
    guint out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_presence_message_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_presence_message (McSvcNMC4Class *klass, mc_svc_nmc4_get_presence_message_impl impl);
/**
 * mc_svc_nmc4_return_from_get_presence_message:
 * @context: The D-Bus method invocation context
 * @out0: const gchar * (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_presence_message (DBusGMethodInvocation *context,
    const gchar *out0);
static inline void
mc_svc_nmc4_return_from_get_presence_message (DBusGMethodInvocation *context,
    const gchar *out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_presence_actual_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_presence_actual (McSvcNMC4Class *klass, mc_svc_nmc4_get_presence_actual_impl impl);
/**
 * mc_svc_nmc4_return_from_get_presence_actual:
 * @context: The D-Bus method invocation context
 * @out0: guint  (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_presence_actual (DBusGMethodInvocation *context,
    guint out0);
static inline void
mc_svc_nmc4_return_from_get_presence_actual (DBusGMethodInvocation *context,
    guint out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_presence_message_actual_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_presence_message_actual (McSvcNMC4Class *klass, mc_svc_nmc4_get_presence_message_actual_impl impl);
/**
 * mc_svc_nmc4_return_from_get_presence_message_actual:
 * @context: The D-Bus method invocation context
 * @out0: const gchar * (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_presence_message_actual (DBusGMethodInvocation *context,
    const gchar *out0);
static inline void
mc_svc_nmc4_return_from_get_presence_message_actual (DBusGMethodInvocation *context,
    const gchar *out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_request_channel_impl) (McSvcNMC4 *self,
    const gchar *in_account_name,
    const gchar *in_type,
    guint in_handle,
    gint in_handle_type,
    guint in_serial,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_request_channel (McSvcNMC4Class *klass, mc_svc_nmc4_request_channel_impl impl);
/**
 * mc_svc_nmc4_return_from_request_channel:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_request_channel (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_request_channel (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*mc_svc_nmc4_request_channel_with_string_handle_impl) (McSvcNMC4 *self,
    const gchar *in_account_name,
    const gchar *in_type,
    const gchar *in_handle,
    gint in_handle_type,
    guint in_serial,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_request_channel_with_string_handle (McSvcNMC4Class *klass, mc_svc_nmc4_request_channel_with_string_handle_impl impl);
/**
 * mc_svc_nmc4_return_from_request_channel_with_string_handle:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_request_channel_with_string_handle (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_request_channel_with_string_handle (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*mc_svc_nmc4_cancel_channel_request_impl) (McSvcNMC4 *self,
    guint in_operation_id,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_cancel_channel_request (McSvcNMC4Class *klass, mc_svc_nmc4_cancel_channel_request_impl impl);
/**
 * mc_svc_nmc4_return_from_cancel_channel_request:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_cancel_channel_request (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_cancel_channel_request (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*mc_svc_nmc4_connect_all_with_default_presence_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_connect_all_with_default_presence (McSvcNMC4Class *klass, mc_svc_nmc4_connect_all_with_default_presence_impl impl);
/**
 * mc_svc_nmc4_return_from_connect_all_with_default_presence:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_connect_all_with_default_presence (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_connect_all_with_default_presence (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*mc_svc_nmc4_get_connection_status_impl) (McSvcNMC4 *self,
    const gchar *in_account_name,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_connection_status (McSvcNMC4Class *klass, mc_svc_nmc4_get_connection_status_impl impl);
/**
 * mc_svc_nmc4_return_from_get_connection_status:
 * @context: The D-Bus method invocation context
 * @out0: guint  (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_connection_status (DBusGMethodInvocation *context,
    guint out0);
static inline void
mc_svc_nmc4_return_from_get_connection_status (DBusGMethodInvocation *context,
    guint out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_online_connections_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_online_connections (McSvcNMC4Class *klass, mc_svc_nmc4_get_online_connections_impl impl);
/**
 * mc_svc_nmc4_return_from_get_online_connections:
 * @context: The D-Bus method invocation context
 * @out0: const gchar ** (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_online_connections (DBusGMethodInvocation *context,
    const gchar **out0);
static inline void
mc_svc_nmc4_return_from_get_online_connections (DBusGMethodInvocation *context,
    const gchar **out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_connection_impl) (McSvcNMC4 *self,
    const gchar *in_account_name,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_connection (McSvcNMC4Class *klass, mc_svc_nmc4_get_connection_impl impl);
/**
 * mc_svc_nmc4_return_from_get_connection:
 * @context: The D-Bus method invocation context
 * @out0: const gchar * (FIXME, generate documentation)
 * @out1: const gchar * (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_connection (DBusGMethodInvocation *context,
    const gchar *out0,
    const gchar *out1);
static inline void
mc_svc_nmc4_return_from_get_connection (DBusGMethodInvocation *context,
    const gchar *out0,
    const gchar *out1)
{
  dbus_g_method_return (context,
      out0,
      out1);
}

typedef void (*mc_svc_nmc4_get_account_for_connection_impl) (McSvcNMC4 *self,
    const gchar *in_object_path,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_account_for_connection (McSvcNMC4Class *klass, mc_svc_nmc4_get_account_for_connection_impl impl);
/**
 * mc_svc_nmc4_return_from_get_account_for_connection:
 * @context: The D-Bus method invocation context
 * @out0: const gchar * (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_account_for_connection (DBusGMethodInvocation *context,
    const gchar *out0);
static inline void
mc_svc_nmc4_return_from_get_account_for_connection (DBusGMethodInvocation *context,
    const gchar *out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_used_channels_count_impl) (McSvcNMC4 *self,
    const gchar *in_type,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_used_channels_count (McSvcNMC4Class *klass, mc_svc_nmc4_get_used_channels_count_impl impl);
/**
 * mc_svc_nmc4_return_from_get_used_channels_count:
 * @context: The D-Bus method invocation context
 * @out0: guint  (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_used_channels_count (DBusGMethodInvocation *context,
    guint out0);
static inline void
mc_svc_nmc4_return_from_get_used_channels_count (DBusGMethodInvocation *context,
    guint out0)
{
  dbus_g_method_return (context,
      out0);
}

typedef void (*mc_svc_nmc4_get_current_status_impl) (McSvcNMC4 *self,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_get_current_status (McSvcNMC4Class *klass, mc_svc_nmc4_get_current_status_impl impl);
/**
 * mc_svc_nmc4_return_from_get_current_status:
 * @context: The D-Bus method invocation context
 * @out_status: guint  (FIXME, generate documentation)
 * @out_presence: guint  (FIXME, generate documentation)
 * @out_requested_presence: guint  (FIXME, generate documentation)
 * @out_accounts: const GPtrArray * (FIXME, generate documentation)
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_get_current_status (DBusGMethodInvocation *context,
    guint out_status,
    guint out_presence,
    guint out_requested_presence,
    const GPtrArray *out_accounts);
static inline void
mc_svc_nmc4_return_from_get_current_status (DBusGMethodInvocation *context,
    guint out_status,
    guint out_presence,
    guint out_requested_presence,
    const GPtrArray *out_accounts)
{
  dbus_g_method_return (context,
      out_status,
      out_presence,
      out_requested_presence,
      out_accounts);
}

typedef void (*mc_svc_nmc4_remote_avatar_changed_impl) (McSvcNMC4 *self,
    const gchar *in_object_path,
    guint in_contact_id,
    const gchar *in_token,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_remote_avatar_changed (McSvcNMC4Class *klass, mc_svc_nmc4_remote_avatar_changed_impl impl);
/**
 * mc_svc_nmc4_return_from_remote_avatar_changed:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_remote_avatar_changed (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_remote_avatar_changed (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

typedef void (*mc_svc_nmc4_register_filter_impl) (McSvcNMC4 *self,
    const gchar *in_bus_name,
    const gchar *in_object_path,
    const gchar *in_channel_type,
    guint in_priority,
    guint in_flag,
    DBusGMethodInvocation *context);
void mc_svc_nmc4_implement_register_filter (McSvcNMC4Class *klass, mc_svc_nmc4_register_filter_impl impl);
/**
 * mc_svc_nmc4_return_from_register_filter:
 * @context: The D-Bus method invocation context
 *
 * Return successfully by calling dbus_g_method_return().
 * This inline function exists only to provide type-safety.
 */
static inline
/* this comment is to stop gtkdoc realising this is static */
void mc_svc_nmc4_return_from_register_filter (DBusGMethodInvocation *context);
static inline void
mc_svc_nmc4_return_from_register_filter (DBusGMethodInvocation *context)
{
  dbus_g_method_return (context);
}

void mc_svc_nmc4_emit_account_presence_changed (gpointer instance,
    guint arg_status,
    guint arg_presence,
    const gchar *arg_message,
    guint arg_reason,
    const gchar *arg_account_id);
void mc_svc_nmc4_emit_account_status_changed (gpointer instance,
    guint arg_status,
    guint arg_presence,
    guint arg_reason,
    const gchar *arg_account_id);
void mc_svc_nmc4_emit_mcd_error (gpointer instance,
    guint arg_serial,
    const gchar *arg_client_id,
    guint arg_error_id);
void mc_svc_nmc4_emit_presence_requested (gpointer instance,
    guint arg_presence,
    const gchar *arg_message);
void mc_svc_nmc4_emit_presence_status_requested (gpointer instance,
    guint arg_presence);
void mc_svc_nmc4_emit_presence_changed (gpointer instance,
    guint arg_presence,
    const gchar *arg_message);
void mc_svc_nmc4_emit_presence_status_actual (gpointer instance,
    guint arg_presence);
void mc_svc_nmc4_emit_used_channels_count_changed (gpointer instance,
    const gchar *arg_type,
    guint arg_count);
void mc_svc_nmc4_emit_status_actual (gpointer instance,
    guint arg_status,
    guint arg_presence);


G_END_DECLS
