// --------------------------------------------------------------------------------------------------------------------
//
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
//
//
// Defines the ILog type.
//
// --------------------------------------------------------------------------------------------------------------------
namespace HandBrake.ApplicationServices.Services.Logging.Interfaces
{
using System;
using System.Collections.Generic;
using EventArgs;
using Model;
///
/// The Log interface.
///
public interface ILog
{
///
/// The message logged.
///
event EventHandler MessageLogged;
///
/// The log reset event
///
event EventHandler LogReset;
///
/// Gets the log messages.
///
IEnumerable LogMessages { get; }
///
/// Gets the activity log.
///
string ActivityLog { get; }
///
/// The reset.
///
void Reset();
///
/// The enable.
///
void Enable();
///
/// Log a message.
///
///
/// The content of the log message,
///
///
/// The Message Type. (i.e. where it came from)
///
///
/// The log level
///
void LogMessage(string content, LogMessageType type, LogLevel level);
///
/// Enable Logging to Disk
///
///
/// The log file to write to.
///
///
/// Delete the current log file if it exists.
///
void EnableLoggingToDisk(string logFile, bool deleteCurrentLogFirst);
///
/// The setup log header.
///
///
/// The header.
///
void SetupLogHeader(string header);
}
}