Sync with various changes from 3.0 branch. Add two new files for config stuff.
[privoxy.git] / w32log.h
1 #ifndef W32LOG_H_INCLUDED
2 #define W32LOG_H_INCLUDED
3 #define W32LOG_H_VERSION "$Id: w32log.h,v 1.9 2002/03/24 12:03:47 jongfoster Exp $"
4 /*********************************************************************
5  *
6  * File        :  $Source: /cvsroot/ijbswa/current/w32log.h,v $
7  *
8  * Purpose     :  Functions for creating and destroying the log window,
9  *                ouputting strings, processing messages and so on.
10  *
11  * Copyright   :  Written by and Copyright (C) 2001-2002 members of
12  *                the Privoxy team.  http://www.privoxy.org/
13  *
14  *                Written by and Copyright (C) 1999 Adam Lock
15  *                <locka@iol.ie>
16  *
17  *                This program is free software; you can redistribute it 
18  *                and/or modify it under the terms of the GNU General
19  *                Public License as published by the Free Software
20  *                Foundation; either version 2 of the License, or (at
21  *                your option) any later version.
22  *
23  *                This program is distributed in the hope that it will
24  *                be useful, but WITHOUT ANY WARRANTY; without even the
25  *                implied warranty of MERCHANTABILITY or FITNESS FOR A
26  *                PARTICULAR PURPOSE.  See the GNU General Public
27  *                License for more details.
28  *
29  *                The GNU General Public License should be included with
30  *                this file.  If not, you can view it at
31  *                http://www.gnu.org/copyleft/gpl.html
32  *                or write to the Free Software Foundation, Inc., 59
33  *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
34  *
35  * Revisions   :
36  *    $Log: w32log.h,v $
37  *    Revision 1.9  2002/03/24 12:03:47  jongfoster
38  *    Name change
39  *
40  *    Revision 1.8  2001/07/30 22:08:36  jongfoster
41  *    Tidying up #defines:
42  *    - All feature #defines are now of the form FEATURE_xxx
43  *    - Permanently turned off WIN_GUI_EDIT
44  *    - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
45  *
46  *    Revision 1.7  2001/07/29 18:43:08  jongfoster
47  *    Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
48  *    ANSI C rules.
49  *
50  *    Revision 1.6  2001/07/13 14:04:59  oes
51  *    Removed all #ifdef PCRS
52  *
53  *    Revision 1.5  2001/06/07 23:08:12  jongfoster
54  *    Forward and ACL edit options removed.
55  *
56  *    Revision 1.4  2001/05/31 21:37:11  jongfoster
57  *    GUI changes to rename "permissions file" to "actions file".
58  *
59  *    Revision 1.3  2001/05/29 09:50:24  jongfoster
60  *    Unified blocklist/imagelist/permissionslist.
61  *    File format is still under discussion, but the internal changes
62  *    are (mostly) done.
63  *
64  *    Also modified interceptor behaviour:
65  *    - We now intercept all URLs beginning with one of the following
66  *      prefixes (and *only* these prefixes):
67  *        * http://i.j.b/
68  *        * http://ijbswa.sf.net/config/
69  *        * http://ijbswa.sourceforge.net/config/
70  *    - New interceptors "home page" - go to http://i.j.b/ to see it.
71  *    - Internal changes so that intercepted and fast redirect pages
72  *      are not replaced with an image.
73  *    - Interceptors now have the option to send a binary page direct
74  *      to the client. (i.e. ijb-send-banner uses this)
75  *    - Implemented show-url-info interceptor.  (Which is why I needed
76  *      the above interceptors changes - a typical URL is
77  *      "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
78  *      The previous mechanism would not have intercepted that, and
79  *      if it had been intercepted then it then it would have replaced
80  *      it with an image.)
81  *
82  *    Revision 1.2  2001/05/26 00:28:36  jongfoster
83  *    Automatic reloading of config file.
84  *    Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32).
85  *    Most of the global variables have been moved to a new
86  *    struct configuration_spec, accessed through csp->config->globalname
87  *    Most of the globals remaining are used by the Win32 GUI.
88  *
89  *    Revision 1.1.1.1  2001/05/15 13:59:07  oes
90  *    Initial import of version 2.9.3 source tree
91  *
92  *
93  *********************************************************************/
94 \f
95
96 #ifdef __cplusplus
97 extern "C" {
98 #endif
99
100 extern HWND g_hwndLogFrame;
101
102 /* Indicates whether task bar shows activity animation */
103 extern BOOL g_bShowActivityAnimation;
104
105 /* Indicates if the log window appears on the task bar */
106 extern BOOL g_bShowOnTaskBar;
107
108 /* Indicates whether closing the log window really just hides it */
109 extern BOOL g_bCloseHidesWindow;
110
111 /* Indicates if messages are logged at all */
112 extern BOOL g_bLogMessages;
113
114 /* Indicates whether log messages are highlighted */
115 extern BOOL g_bHighlightMessages;
116
117 /* Indicates if buffer is limited in size */
118 extern BOOL g_bLimitBufferSize;
119
120 /* Maximum number of lines allowed in buffer when limited */
121 extern int g_nMaxBufferLines;
122
123 /* Font to use */
124 extern char g_szFontFaceName[255];
125
126 /* Size of font to use */
127 extern int g_nFontSize;
128
129
130 /* FIXME: this is a kludge */
131
132 extern const char * g_actions_file;
133 extern const char * g_re_filterfile;
134 #ifdef FEATURE_TRUST
135 extern const char * g_trustfile;
136 #endif /* def FEATURE_TRUST */
137
138 /* FIXME: end kludge */
139
140 extern int LogPutString(const char *pszText);
141 extern BOOL InitLogWindow(void);
142 extern void TermLogWindow(void);
143 extern void ShowLogWindow(BOOL bShow);
144 extern void LogShowActivity(void);
145
146 /* Revision control strings from this header and associated .c file */
147 extern const char w32log_rcs[];
148 extern const char w32log_h_rcs[];
149
150 #ifdef __cplusplus
151 } /* extern "C" */
152 #endif
153
154 #endif /* ndef W32LOG_H_INCLUDED */
155
156
157 /*
158   Local Variables:
159   tab-width: 3
160   end:
161 */