package org.freedesktop;
import java.util.List;
import java.util.Map;
import org.freedesktop.dbus.DBusInterface;
import org.freedesktop.dbus.UInt32;
import org.freedesktop.dbus.Variant;
public interface Notifications extends DBusInterface {
/**
*
* @param app_name
* The optional name of the application sending the notification.
* Can be blank.
* @param id
* The optional notification ID that this notification replaces.
* The server must atomically (ie with no flicker or other visual
* cues) replace the given notification with this one. This
* allows clients to effectively modify the notification while
* it's active. A value of value of 0 means that this
* notification won't replace any existing notifications.
* @param icon
* The optional program icon of the calling application. See
* Icons and Images. Can be an empty string, indicating no icon.
* @param summary
* The summary text briefly describing the notification.
* @param body
* The optional detailed body text. Can be empty.
* @param actions
* Actions are sent over as a list of pairs. Each even element in
* the list (starting at index 0) represents the identifier for
* the action. Each odd element in the list is the localized
* string that will be displayed to the user.
* @param hints
* Optional hints that can be passed to the server from the
* client program. Although clients and servers should never
* assume each other supports any specific hints, they can be
* used to pass along information, such as the process PID or
* window ID, that the server may be able to make use of. See
* Hints. Can be empty.
* @param timeout
* The timeout time in milliseconds since the display of the
* notification at which the notification should automatically
* close. If -1, the notification's expiration time is dependent
* on the notification server's settings, and may vary for the
* type of notification. If 0, never expire.
* @return
*/
public UInt32 Notify(String app_name, UInt32 id, String icon,
String summary, String body, List<String> actions,
Map<String, Variant<Byte>> hints, int timeout);
}