1/*
2 * Copyright (C) 2003, 2006 Apple Computer, Inc.  All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 *    notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 *    notice, this list of conditions and the following disclaimer in the
11 *    documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "config.h"
27#include "Logging.h"
28
29#include <wtf/text/WTFString.h>
30
31#if !LOG_DISABLED
32
33namespace WebCore {
34
35WTFLogChannel LogNotYetImplemented = { 0x00000001, "WebCoreLogLevel", WTFLogChannelOff };
36
37WTFLogChannel LogFrames =            { 0x00000010, "WebCoreLogLevel", WTFLogChannelOff };
38WTFLogChannel LogLoading =           { 0x00000020, "WebCoreLogLevel", WTFLogChannelOff };
39WTFLogChannel LogPopupBlocking =     { 0x00000040, "WebCoreLogLevel", WTFLogChannelOff };
40WTFLogChannel LogEvents =            { 0x00000080, "WebCoreLogLevel", WTFLogChannelOff };
41
42WTFLogChannel LogEditing =           { 0x00000100, "WebCoreLogLevel", WTFLogChannelOff };
43WTFLogChannel LogLiveConnect =       { 0x00000200, "WebCoreLogLevel", WTFLogChannelOff };
44WTFLogChannel LogIconDatabase =      { 0x00000400, "WebCoreLogLevel", WTFLogChannelOff };
45WTFLogChannel LogSQLDatabase =       { 0x00000800, "WebCoreLogLevel", WTFLogChannelOff };
46
47WTFLogChannel LogSpellingAndGrammar ={ 0x00001000, "WebCoreLogLevel", WTFLogChannelOff };
48WTFLogChannel LogBackForward =       { 0x00002000, "WebCoreLogLevel", WTFLogChannelOff };
49WTFLogChannel LogHistory =           { 0x00004000, "WebCoreLogLevel", WTFLogChannelOff };
50WTFLogChannel LogPageCache =         { 0x00008000, "WebCoreLogLevel", WTFLogChannelOff };
51
52WTFLogChannel LogPlatformLeaks =     { 0x00010000, "WebCoreLogLevel", WTFLogChannelOff };
53WTFLogChannel LogResourceLoading =   { 0x00020000, "WebCoreLogLevel", WTFLogChannelOff };
54WTFLogChannel LogAnimations =        { 0x00040000, "WebCoreLogLevel", WTFLogChannelOff };
55
56WTFLogChannel LogNetwork =           { 0x00100000, "WebCoreLogLevel", WTFLogChannelOff };
57WTFLogChannel LogFTP =               { 0x00200000, "WebCoreLogLevel", WTFLogChannelOff };
58WTFLogChannel LogThreading =         { 0x00400000, "WebCoreLogLevel", WTFLogChannelOff };
59WTFLogChannel LogStorageAPI =        { 0x00800000, "WebCoreLogLevel", WTFLogChannelOff };
60
61WTFLogChannel LogMedia =             { 0x01000000, "WebCoreLogLevel", WTFLogChannelOff };
62WTFLogChannel LogPlugins =           { 0x02000000, "WebCoreLogLevel", WTFLogChannelOff };
63WTFLogChannel LogArchives =          { 0x04000000, "WebCoreLogLevel", WTFLogChannelOff };
64WTFLogChannel LogProgress =          { 0x08000000, "WebCoreLogLevel", WTFLogChannelOff };
65
66WTFLogChannel LogFileAPI =           { 0x10000000, "WebCoreLogLevel", WTFLogChannelOff };
67
68WTFLogChannel LogWebAudio =          { 0x20000000, "WebCoreLogLevel", WTFLogChannelOff };
69WTFLogChannel LogCompositing =       { 0x40000000, "WebCoreLogLevel", WTFLogChannelOff };
70WTFLogChannel LogGamepad =           { 0x80000000, "WebCoreLogLevel", WTFLogChannelOff };
71
72
73WTFLogChannel* getChannelFromName(const String& channelName)
74{
75    if (!(channelName.length() >= 2))
76        return 0;
77
78    if (equalIgnoringCase(channelName, String("BackForward")))
79        return &LogBackForward;
80
81    if (equalIgnoringCase(channelName, String("Editing")))
82        return &LogEditing;
83
84    if (equalIgnoringCase(channelName, String("Events")))
85        return &LogEvents;
86
87    if (equalIgnoringCase(channelName, String("Frames")))
88        return &LogFrames;
89
90    if (equalIgnoringCase(channelName, String("FTP")))
91        return &LogFTP;
92
93    if (equalIgnoringCase(channelName, String("History")))
94        return &LogHistory;
95
96    if (equalIgnoringCase(channelName, String("IconDatabase")))
97        return &LogIconDatabase;
98
99    if (equalIgnoringCase(channelName, String("Loading")))
100        return &LogLoading;
101
102    if (equalIgnoringCase(channelName, String("Media")))
103        return &LogMedia;
104
105    if (equalIgnoringCase(channelName, String("Network")))
106        return &LogNetwork;
107
108    if (equalIgnoringCase(channelName, String("NotYetImplemented")))
109        return &LogNotYetImplemented;
110
111    if (equalIgnoringCase(channelName, String("PageCache")))
112        return &LogPageCache;
113
114    if (equalIgnoringCase(channelName, String("PlatformLeaks")))
115        return &LogPlatformLeaks;
116
117    if (equalIgnoringCase(channelName, String("ResourceLoading")))
118        return &LogResourceLoading;
119
120    if (equalIgnoringCase(channelName, String("Animations")))
121        return &LogAnimations;
122
123    if (equalIgnoringCase(channelName, String("Plugins")))
124        return &LogPlugins;
125
126    if (equalIgnoringCase(channelName, String("PopupBlocking")))
127        return &LogPopupBlocking;
128
129    if (equalIgnoringCase(channelName, String("Progress")))
130        return &LogProgress;
131
132    if (equalIgnoringCase(channelName, String("SpellingAndGrammar")))
133        return &LogSpellingAndGrammar;
134
135    if (equalIgnoringCase(channelName, String("SQLDatabase")))
136        return &LogSQLDatabase;
137
138    if (equalIgnoringCase(channelName, String("StorageAPI")))
139        return &LogStorageAPI;
140
141    if (equalIgnoringCase(channelName, String("LiveConnect")))
142        return &LogLiveConnect;
143
144    if (equalIgnoringCase(channelName, String("Threading")))
145        return &LogThreading;
146
147    if (equalIgnoringCase(channelName, String("FileAPI")))
148        return &LogFileAPI;
149
150    if (equalIgnoringCase(channelName, String("WebAudio")))
151        return &LogWebAudio;
152
153    if (equalIgnoringCase(channelName, String("Compositing")))
154        return &LogCompositing;
155
156    if (equalIgnoringCase(channelName, String("Gamepad")))
157        return &LogGamepad;
158
159    return 0;
160}
161
162}
163
164#endif // !LOG_DISABLED
165