aboutsummaryrefslogtreecommitdiffstats
path: root/3.4.0/src/modules/log/libkvilog.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3.4.0/src/modules/log/libkvilog.cpp')
-rw-r--r--3.4.0/src/modules/log/libkvilog.cpp309
1 files changed, 0 insertions, 309 deletions
diff --git a/3.4.0/src/modules/log/libkvilog.cpp b/3.4.0/src/modules/log/libkvilog.cpp
deleted file mode 100644
index 0bbf11111..000000000
--- a/3.4.0/src/modules/log/libkvilog.cpp
+++ /dev/null
@@ -1,309 +0,0 @@
-//==============================================================================
-//
-// File : libkvilog.cpp
-// Creation date : Sat Jan 06 2001 13:28:02 CEST by Szymon Stefanek
-//
-// This file is part of the KVirc irc client distribution
-// Copyright (C) 2001-2005 Szymon Stefanek (pragma at kvirc dot net)
-//
-// This program 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 opinion) any later version.
-//
-// This program 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 this program. If not, write to the Free Software Foundation,
-// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-//==============================================================================
-
-#include "kvi_module.h"
-#include "kvi_window.h"
-#include "kvi_app.h"
-#include "kvi_locale.h"
-#include "kvi_ircview.h"
-
-
-//#warning "log.stats"
-//#warning "log.compress (gzip -r the log directory)"
-
-/*
- @doc: log
- @title:
- The log interface module
- @short:
- Interface to the KVirc log subsystem
- @type:
- module
- @keyterms:
- logging
- @body:
- The log module is an interface to the KVIrc logging subsystem.[br]
- It provides commands and functions that allow the management of
- logging in the KVIrc windows:[br]
- [cmd]log.start[/cmd], [cmd]log.stop[/cmd], [cmd]log.flush[/cmd],
- [fnc]$log.file[/fnc]().[br]
- NOTE:[br]
- If you want to AUTOENABLE logging in certain types of windows
- you have to use the [cmd]option[/cmd] command.[br]
- For example, [b]option boolAutoLogQueries 1[/b] enables logging in all the newly created
- query windows.
-*/
-
-/*
- @doc: log.start
- @type:
- command
- @title:
- log.start
- @keyterms:
- logging
- @short:
- Starts logging in a specified window
- @syntax:
- log.start [-w = <window_id>] [-p] [filename]
- @description:
- Starts logging in the current window or in the window specified by the -w switch.[br]
- If a logging session is already running in the specified window, it is stopped first.[br]
- If [filename] is specified, this filename is used as log file, otherwise a default
- filename is used.[br]
- If the -p switch is used, all the already existing contents of the window are
- stored to the log file before starting the log action.[br]
- Please note that some windows do not have logging capabilities...this command
- will print a warning in that case.[br]
- @seealso:
- [fnc]$window[/fnc],
- [cmd]log.stop[/cmd],
- [fnc]$log.file[/fnc],
- [doc:window_naming_conventions]window naming conventions documentation[/doc]
-*/
-
-
-static bool log_kvs_cmd_start(KviKvsModuleCommandCall * c)
-{
- QString szFile;
- KVSM_PARAMETERS_BEGIN(c)
- KVSM_PARAMETER("filename",KVS_PT_STRING,KVS_PF_OPTIONAL,szFile)
- KVSM_PARAMETERS_END(c)
-
- KviWindow * pWnd = c->window();
- if(c->hasSwitch('w',"window"))
- {
- QString szWindow;
- if(c->switches()->getAsStringIfExisting('w',"window",szWindow))
- {
- pWnd = g_pApp->findWindow(szWindow);
- if(!pWnd)
- {
- c->warning(__tr2qs("Window %Q not found"),&szWindow);
- return true;
- }
-
- } else {
- c->warning(__tr2qs("Missing window id after the 'w' switch"));
- return true;
- }
- }
-
- if(pWnd->view())
- {
-
- if(szFile.isEmpty())
- {
- pWnd->getDefaultLogFileName(szFile);
- }
- if(!pWnd->view()->startLogging(szFile,c->hasSwitch('p',"log-buffer")))
- c->warning(__tr2qs("Can't log to file %Q"),&szFile);
- } else {
- c->warning(__tr2qs("This window has no logging capabilities"));
- return true;
- }
- return true;
-}
-
-/*
- @doc: log.stop
- @type:
- command
- @title:
- log.stop
- @keyterms:
- logging
- @short:
- Stops logging in a specified window
- @syntax:
- log.stop [-w = <window_id>]
- @description:
- Stops logging in the current window or in the window specified by the -w switch.[br]
- If logging is not enabled in the specified window, this command does nothing.[br]
- @seealso:
- [fnc]$window[/fnc],
- [cmd]log.start[/cmd],
- [doc:window_naming_conventions]window naming conventions documentation[/doc]
-*/
-
-static bool log_kvs_cmd_stop(KviKvsModuleCommandCall * c)
-{
-
- KviWindow * pWnd = c->window();
- if(c->hasSwitch('w',"window"))
- {
- QString szWindow;
- if(c->switches()->getAsStringIfExisting('w',"window",szWindow))
- {
- pWnd = g_pApp->findWindow(szWindow);
- if(!pWnd)
- {
- c->warning(__tr2qs("Window %Q not found"),&szWindow);
- return true;
- }
-
- } else {
- c->warning(__tr2qs("Missing window id after the 'w' switch"));
- return true;
- }
- }
-
- if(pWnd->view())
- pWnd->view()->stopLogging();
- return true;
-}
-
-/*
- @doc: log.flush
- @type:
- command
- @title:
- log.flush
- @keyterms:
- logging
- @short:
- Flushes the log file for a specified window
- @syntax:
- log.flush [-w = <window_id>]
- @description:
- Flushes the log file the current window or in the window specified by the -w switch.[br]
- If logging is not enabled in the specified window, this command does nothing.[br]
- If this command is never used, the log file is flushed at regulear file-size intervals,
- depending on the underlying IO subsystem. This is usually 4KB.[br]
- The "block flushing" is used to achieve a fast I/O on files, but may cause
- the last data block to be lost in case of a program crash.[br]
- @seealso:
- [fnc]$window[/fnc],
- [cmd]log.start[/cmd],
- [cmd]log.stop[/cmd],
- [doc:window_naming_conventions]window naming conventions documentation[/doc]
-*/
-
-static bool log_kvs_cmd_flush(KviKvsModuleCommandCall * c)
-{
-
- KviWindow * pWnd = c->window();
- if(c->hasSwitch('w',"window"))
- {
- QString szWindow;
- if(c->switches()->getAsStringIfExisting('w',"window",szWindow))
- {
- pWnd = g_pApp->findWindow(szWindow);
- if(!pWnd)
- {
- c->warning(__tr2qs("Window %Q not found"),&szWindow);
- return true;
- }
-
- } else {
- c->warning(__tr2qs("Missing window id after the 'w' switch"));
- return true;
- }
- }
-
- if(pWnd->view())
- pWnd->view()->flushLog();
- return true;
-}
-
-/*
- @doc: log.file
- @type:
- function
- @title:
- $log.file
- @short:
- Returns the current log filename
- @syntax:
- $log.file
- $log.file(<window id>)
- @description:
- The form with the <window id> parameter returns the log file name
- of the window that has the specified id. If logging is not enabled
- in the specified window, this function returns an empty string.[br]
- The form without parameters returns the log file name of the current window,
- thus it is equivalent to calling $log.file([fnc]$window[/fnc])
- @examples:
- [example]
- [cmd]log[/cmd] mylogfilename.log
- [cmd]echo[/cmd] $log
- [cmd]echo[/cmd] $log([fnc]$console[/fnc])
- [/example]
- @seealso:
- [fnc]$window[/fnc],
- [cmd]log.start[/cmd],
- [cmd]log.stop[/cmd],
- [doc:window_naming_conventions]window naming conventions documentation[/doc]
-*/
-
-static bool log_kvs_fnc_file(KviKvsModuleFunctionCall * c)
-{
- QString szWindow;
- QString buffer;
- KVSM_PARAMETERS_BEGIN(c)
- KVSM_PARAMETER("window id",KVS_PT_STRING,KVS_PF_OPTIONAL,szWindow)
- KVSM_PARAMETERS_END(c)
-
- KviWindow * wnd = c->window();
-
- if(!szWindow.isEmpty())
- {
- wnd = g_pApp->findWindow(szWindow);
- if(!wnd)
- {
- c->warning(__tr2qs("Window with id '%Q' not found, returning empty string"),&szWindow);
- return true;
- }
- }
-
- if(wnd->view())wnd->view()->getLogFileName(buffer);
- c->returnValue()->setString(buffer);
- return true;
-}
-
-static bool log_module_init(KviModule * m)
-{
- KVSM_REGISTER_SIMPLE_COMMAND(m,"start",log_kvs_cmd_start);
- KVSM_REGISTER_SIMPLE_COMMAND(m,"stop",log_kvs_cmd_stop);
- KVSM_REGISTER_SIMPLE_COMMAND(m,"flush",log_kvs_cmd_flush);
-
- KVSM_REGISTER_FUNCTION(m,"file",log_kvs_fnc_file);
- return true;
-}
-
-static bool log_module_cleanup(KviModule *m)
-{
- return true;
-}
-
-KVIRC_MODULE(
- "Log", // module name
- "1.0.0", // module version
- "Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net)", // author & (C)
- "User interface to the logging system for KVIrc",
- log_module_init,
- 0,
- 0,
- log_module_cleanup
-)