/*
 * This file is part of roccat-tools.
 *
 * roccat-tools is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * roccat-tools is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY 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 roccat-tools. If not, see <http://www.gnu.org/licenses/>.
 */

#include "roccat_notification_cpi_osd.h"
#include "roccat_osd_note.h"
#include <libnotify/notification.h>

void roccat_notification_cpi_osd_cancel(gpointer data) {
	if (data)
		roccat_osd_note_close((RoccatOsdNote *)data);
}

void roccat_notification_cpi_osd_update(gpointer data, gchar const *prefix, guint number) {
	if (data)
		roccat_osd_note_update((RoccatOsdNote *)data, "%s cpi %d", prefix, number);
}

void roccat_notification_cpi_osd_update_up(gpointer data, gchar const *prefix) {
	if (data)
		roccat_osd_note_update((RoccatOsdNote *)data, "%s cpi up", prefix);
}

void roccat_notification_cpi_osd_update_down(gpointer data, gchar const *prefix) {
	if (data)
		roccat_osd_note_update((RoccatOsdNote *)data, "%s cpi down", prefix);
}

gpointer roccat_notification_cpi_osd_new(RoccatNotificator *notificator) {
	return notificator->osd_usable ? roccat_osd_note_new(notificator, NOTIFY_EXPIRES_DEFAULT) : NULL;
}

void roccat_notification_cpi_osd_free(gpointer data) {
	if (data)
		roccat_osd_note_free((RoccatOsdNote *)data);
}
