Added a NotifyIcon struct and the beginnings of the API.

This commit is contained in:
Christian Hammond 2004-06-30 02:27:21 +00:00
parent 0f58a300f2
commit f722bacff3
3 changed files with 100 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Tue Jun 29 19:26:58 PDT 2004 Christian Hammond <chipx86@gnupdate.org>
* libnotify/notify.c:
* libnotify/notify.h:
- Added a NotifyIcon struct and the beginnings of the API.
Tue Jun 29 18:49:38 PDT 2004 Christian Hammond <chipx86@gnupdate.org>
* libnotify/notify.c:

View File

@ -63,6 +63,14 @@ struct _NotifyHandle
} data;
};
struct _NotifyIcon
{
char *uri;
size_t raw_len;
guchar *raw_data;
};
static DBusConnection *_dbus_conn = NULL;
static gboolean _initted = FALSE;
static gboolean _filters_added = FALSE;
@ -395,6 +403,57 @@ notify_close(NotifyHandle *handle)
dbus_message_unref(message);
}
/**************************************************************************
* Icon API
**************************************************************************/
NotifyIcon *
notify_icon_new(const char *icon_uri)
{
NotifyIcon *icon;
g_return_val_if_fail(icon_uri != NULL, NULL);
g_return_val_if_fail(*icon_uri != '\0', NULL);
icon = g_new0(NotifyIcon, 1);
icon->uri = g_strdup(icon_uri);
return icon;
}
NotifyIcon *
notify_icon_new_with_data(size_t icon_len, const guchar *icon_data)
{
NotifyIcon *icon;
g_return_val_if_fail(icon_len > 0, NULL);
g_return_val_if_fail(icon_data != NULL, NULL);
icon = g_new0(NotifyIcon, 1);
icon->raw_len = icon_len;
icon->raw_data = g_memdup(icon_data, icon_len);
return icon;
}
void
notify_icon_destroy(NotifyIcon *icon)
{
g_return_if_fail(icon != NULL);
if (icon->uri != NULL)
g_free(icon->uri);
if (icon->raw_data != NULL)
g_free(icon->raw_data);
g_free(icon);
}
/**************************************************************************
* Notifications API
**************************************************************************/
static NotifyHandle *
_notify_send_notification(NotifyUrgency urgency, const char *summary,
const char *detailed, const char *icon_uri,

View File

@ -47,6 +47,7 @@ typedef enum
} NotifyUrgency;
typedef struct _NotifyHandle NotifyHandle;
typedef struct _NotifyIcon NotifyIcon;
typedef void (*NotifyCallback)(NotifyHandle *, guint32, gpointer);
@ -88,6 +89,40 @@ void notify_close(NotifyHandle *handle);
/*@}*/
/**************************************************************************/
/** @name NotifyIcon API */
/**************************************************************************/
/*@{*/
/**
* Creates an icon with the specified icon URI.
*
* @param icon_uri The icon URI.
*
* @return The icon.
*/
NotifyIcon *notify_icon_new(const char *icon_uri);
/**
* Creates an icon with the specified icon data.
*
* @param icon_len The icon data length.
* @param icon_data The icon data.
*
* @return The icon.
*/
NotifyIcon *notify_icon_new_with_data(size_t icon_len,
const guchar *icon_data);
/**
* Destroys an icon.
*
* @param icon The icon to destroy.
*/
void notify_icon_destroy(NotifyIcon *icon);
/*@}*/
/**************************************************************************/
/** @name Notifications API */
/**************************************************************************/