VBoxGuestAdditionsLog.nsh revision b0cec57d51e48736a3303366c728c3f025e8e81b
af062818b47340eef15700d2f0211576ba3506eevboxsync; $Id$
af062818b47340eef15700d2f0211576ba3506eevboxsync;; @file
af062818b47340eef15700d2f0211576ba3506eevboxsync; VBoxGuestAdditionLog.nsh - Logging functions.
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync; Copyright (C) 2013 Oracle Corporation
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync; This file is part of VirtualBox Open Source Edition (OSE), as
af062818b47340eef15700d2f0211576ba3506eevboxsync; available from http://www.virtualbox.org. This file is free software;
af062818b47340eef15700d2f0211576ba3506eevboxsync; you can redistribute it and/or modify it under the terms of the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync; General Public License (GPL) as published by the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync; Foundation, in version 2 as it comes in the "COPYING" file of the
af062818b47340eef15700d2f0211576ba3506eevboxsync; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
af062818b47340eef15700d2f0211576ba3506eevboxsync; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync; Macro for enable/disable logging
af062818b47340eef15700d2f0211576ba3506eevboxsync; @param "true" to enable logging, "false" to disable.
af062818b47340eef15700d2f0211576ba3506eevboxsync;
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync!macro _logEnable enable
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync ${If} ${enable} == "true"
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync LogSet on
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync ${LogVerbose} "Started logging into separate file"
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync ${Else}
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync ${LogVerbose} "Stopped logging into separate file"
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync LogSet off
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync ${EndIf}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync!macroend
af062818b47340eef15700d2f0211576ba3506eevboxsync!define LogEnable "!insertmacro _logEnable"
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync; Macro for (verbose) logging
af062818b47340eef15700d2f0211576ba3506eevboxsync; @param Text to log.
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync!macro _logVerbose text
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync LogText "${text}"
af062818b47340eef15700d2f0211576ba3506eevboxsync IfSilent +2
af062818b47340eef15700d2f0211576ba3506eevboxsync DetailPrint "${text}"
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync!macroend
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync!define LogVerbose "!insertmacro _logVerbose"
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync;
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync; Sends a logging text to the running instance of VBoxTray
af062818b47340eef15700d2f0211576ba3506eevboxsync; which then presents to text via balloon popup in the system tray (if enabled).
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync; @param Message type (0=Info, 1=Warning, 2=Error).
af062818b47340eef15700d2f0211576ba3506eevboxsync; @param Message text.
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync; @todo Add message timeout as parameter.
af062818b47340eef15700d2f0211576ba3506eevboxsync;
af062818b47340eef15700d2f0211576ba3506eevboxsync!macro _logToVBoxTray type text
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync ${LogVerbose} "${text}"
af062818b47340eef15700d2f0211576ba3506eevboxsync!if $%VBOX_WITH_GUEST_INSTALL_HELPER% == "1"
af062818b47340eef15700d2f0211576ba3506eevboxsync Push $0
af062818b47340eef15700d2f0211576ba3506eevboxsync ; Parameters:
af062818b47340eef15700d2f0211576ba3506eevboxsync ; - String: Description / Body
af062818b47340eef15700d2f0211576ba3506eevboxsync ; - String: Title / Name of application
af062818b47340eef15700d2f0211576ba3506eevboxsync ; - Integer: Type of message: 0 (Info), 1 (Warning), 2 (Error)
af062818b47340eef15700d2f0211576ba3506eevboxsync ; - Integer: Time (in msec) to show the notification
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync VBoxGuestInstallHelper::VBoxTrayShowBallonMsg "${text}" "VirtualBox Guest Additions Setup" ${type} 5000
af062818b47340eef15700d2f0211576ba3506eevboxsync Pop $0 ; Get return value (ignored for now)
af062818b47340eef15700d2f0211576ba3506eevboxsync Pop $0 ; Restore original $0 from stack
af062818b47340eef15700d2f0211576ba3506eevboxsync!endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync!macroend
af062818b47340eef15700d2f0211576ba3506eevboxsync!define LogToVBoxTray "!insertmacro _logToVBoxTray"