using System;
using System.Windows;
using System.Windows.Forms;
using JD.LogService;
namespace JD.MessageService
{
///
/// Interface for message service implmenations
///
public interface IMessageService
{
///
/// Initializes the resources of the message service (should be called in the Main thread).
///
void Initialize();
///
/// Show a message/warning/error with an OK button.
///
void Show(LogCategory category, string message, string caption);
///
/// Show a question to the user.
///
MessageBoxResult AskQuestion(string question, string caption, MessageBoxImage icon, MessageBoxButton buttons, MessageBoxResult defaultResult);
///
/// Shows a message dialog to the user.
///
MessageDialog.Button ShowMessageDialog(MessageDialog dialog);
///
/// Show a input box.
///
string ShowInputBox(string question, string caption, string defaultValue, MessageService.ValidationPredicate validationPredicate);
///
/// Shows a balloon in tray icon closing after the timeout expired.
///
/// The duration before the balloon closes and hides.
/// The bold title in the header.
/// The content of the balloon.
/// Type of balloon.
/// An action to execute when clicking the balloon.
IBalloon ShowBalloon(TimeSpan timeout, string title, string text, ToolTipIcon icon, Action clickAction);
}
}