/*
* Copyright 2012 Canonical Ltd.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3, as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranties of
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see .
*
* Authors:
* Lars Uebernickel
*/
#ifndef __messaging_menu_app_h__
#define __messaging_menu_app_h__
#include
#include "messaging-menu-message.h"
G_BEGIN_DECLS
#define MESSAGING_MENU_TYPE_APP messaging_menu_app_get_type()
#define MESSAGING_MENU_APP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MESSAGING_MENU_TYPE_APP, MessagingMenuApp))
#define MESSAGING_MENU_APP_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), MESSAGING_MENU_TYPE_APP, MessagingMenuAppClass))
#define MESSAGING_MENU_IS_APP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MESSAGING_MENU_TYPE_APP))
/**
* MessagingMenuStatus:
* @MESSAGING_MENU_STATUS_AVAILABLE: available
* @MESSAGING_MENU_STATUS_AWAY: away
* @MESSAGING_MENU_STATUS_BUSY: busy
* @MESSAGING_MENU_STATUS_INVISIBLE: invisible
* @MESSAGING_MENU_STATUS_OFFLINE: offline
*
* An enumeration for the possible chat statuses the messaging menu can be in.
*/
typedef enum {
MESSAGING_MENU_STATUS_AVAILABLE,
MESSAGING_MENU_STATUS_AWAY,
MESSAGING_MENU_STATUS_BUSY,
MESSAGING_MENU_STATUS_INVISIBLE,
MESSAGING_MENU_STATUS_OFFLINE
} MessagingMenuStatus;
typedef GObjectClass MessagingMenuAppClass;
typedef struct _MessagingMenuApp MessagingMenuApp;
GType messaging_menu_app_get_type (void) G_GNUC_CONST;
MessagingMenuApp * messaging_menu_app_new (const gchar *desktop_id);
void messaging_menu_app_register (MessagingMenuApp *app);
void messaging_menu_app_unregister (MessagingMenuApp *app);
void messaging_menu_app_set_status (MessagingMenuApp *app,
MessagingMenuStatus status);
void messaging_menu_app_insert_source (MessagingMenuApp *app,
gint position,
const gchar *id,
GIcon *icon,
const gchar *label);
void messaging_menu_app_append_source (MessagingMenuApp *app,
const gchar *id,
GIcon *icon,
const gchar *label);
void messaging_menu_app_insert_source_with_count (MessagingMenuApp *app,
gint position,
const gchar *id,
GIcon *icon,
const gchar *label,
guint count);
void messaging_menu_app_append_source_with_count (MessagingMenuApp *app,
const gchar *id,
GIcon *icon,
const gchar *label,
guint count);
void messaging_menu_app_insert_source_with_time (MessagingMenuApp *app,
gint position,
const gchar *id,
GIcon *icon,
const gchar *label,
gint64 time);
void messaging_menu_app_append_source_with_time (MessagingMenuApp *app,
const gchar *id,
GIcon *icon,
const gchar *label,
gint64 time);
void messaging_menu_app_append_source_with_string (MessagingMenuApp *app,
const gchar *id,
GIcon *icon,
const gchar *label,
const gchar *str);
void messaging_menu_app_insert_source_with_string (MessagingMenuApp *app,
gint position,
const gchar *id,
GIcon *icon,
const gchar *label,
const gchar *str);
void messaging_menu_app_remove_source (MessagingMenuApp *app,
const gchar *source_id);
gboolean messaging_menu_app_has_source (MessagingMenuApp *app,
const gchar *source_id);
void messaging_menu_app_set_source_label (MessagingMenuApp *app,
const gchar *source_id,
const gchar *label);
void messaging_menu_app_set_source_icon (MessagingMenuApp *app,
const gchar *source_id,
GIcon *icon);
void messaging_menu_app_set_source_count (MessagingMenuApp *app,
const gchar *source_id,
guint count);
void messaging_menu_app_set_source_time (MessagingMenuApp *app,
const gchar *source_id,
gint64 time);
void messaging_menu_app_set_source_string (MessagingMenuApp *app,
const gchar *source_id,
const gchar *str);
void messaging_menu_app_draw_attention (MessagingMenuApp *app,
const gchar *source_id);
void messaging_menu_app_remove_attention (MessagingMenuApp *app,
const gchar *source_id);
void messaging_menu_app_append_message (MessagingMenuApp *app,
MessagingMenuMessage *msg,
const gchar *source_id,
gboolean notify);
MessagingMenuMessage * messaging_menu_app_get_message (MessagingMenuApp *app,
const gchar *id);
void messaging_menu_app_remove_message (MessagingMenuApp *app,
MessagingMenuMessage *msg);
void messaging_menu_app_remove_message_by_id (MessagingMenuApp *app,
const gchar *id);
G_END_DECLS
#endif