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 "core/platform/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 };
50
51WTFLogChannel LogPlatformLeaks =     { 0x00010000, "WebCoreLogLevel", WTFLogChannelOff };
52WTFLogChannel LogResourceLoading =   { 0x00020000, "WebCoreLogLevel", WTFLogChannelOff };
53
54WTFLogChannel LogNetwork =           { 0x00100000, "WebCoreLogLevel", WTFLogChannelOff };
55WTFLogChannel LogFTP =               { 0x00200000, "WebCoreLogLevel", WTFLogChannelOff };
56WTFLogChannel LogThreading =         { 0x00400000, "WebCoreLogLevel", WTFLogChannelOff };
57WTFLogChannel LogStorageAPI =        { 0x00800000, "WebCoreLogLevel", WTFLogChannelOff };
58
59WTFLogChannel LogMedia =             { 0x01000000, "WebCoreLogLevel", WTFLogChannelOff };
60WTFLogChannel LogPlugins =           { 0x02000000, "WebCoreLogLevel", WTFLogChannelOff };
61WTFLogChannel LogArchives =          { 0x04000000, "WebCoreLogLevel", WTFLogChannelOff };
62WTFLogChannel LogProgress =          { 0x08000000, "WebCoreLogLevel", WTFLogChannelOff };
63
64WTFLogChannel LogFileAPI =           { 0x10000000, "WebCoreLogLevel", WTFLogChannelOff };
65
66WTFLogChannel LogWebAudio =          { 0x20000000, "WebCoreLogLevel", WTFLogChannelOff };
67WTFLogChannel LogCompositing =       { 0x40000000, "WebCoreLogLevel", WTFLogChannelOff };
68WTFLogChannel LogGamepad =           { 0x80000000, "WebCoreLogLevel", WTFLogChannelOff };
69
70
71WTFLogChannel* getChannelFromName(const String& channelName)
72{
73    if (!(channelName.length() >= 2))
74        return 0;
75
76    if (equalIgnoringCase(channelName, String("BackForward")))
77        return &LogBackForward;
78
79    if (equalIgnoringCase(channelName, String("Editing")))
80        return &LogEditing;
81
82    if (equalIgnoringCase(channelName, String("Events")))
83        return &LogEvents;
84
85    if (equalIgnoringCase(channelName, String("Frames")))
86        return &LogFrames;
87
88    if (equalIgnoringCase(channelName, String("FTP")))
89        return &LogFTP;
90
91    if (equalIgnoringCase(channelName, String("History")))
92        return &LogHistory;
93
94    if (equalIgnoringCase(channelName, String("IconDatabase")))
95        return &LogIconDatabase;
96
97    if (equalIgnoringCase(channelName, String("Loading")))
98        return &LogLoading;
99
100    if (equalIgnoringCase(channelName, String("Media")))
101        return &LogMedia;
102
103    if (equalIgnoringCase(channelName, String("Network")))
104        return &LogNetwork;
105
106    if (equalIgnoringCase(channelName, String("NotYetImplemented")))
107        return &LogNotYetImplemented;
108
109    if (equalIgnoringCase(channelName, String("PlatformLeaks")))
110        return &LogPlatformLeaks;
111
112    if (equalIgnoringCase(channelName, String("ResourceLoading")))
113        return &LogResourceLoading;
114
115    if (equalIgnoringCase(channelName, String("Plugins")))
116        return &LogPlugins;
117
118    if (equalIgnoringCase(channelName, String("PopupBlocking")))
119        return &LogPopupBlocking;
120
121    if (equalIgnoringCase(channelName, String("Progress")))
122        return &LogProgress;
123
124    if (equalIgnoringCase(channelName, String("SpellingAndGrammar")))
125        return &LogSpellingAndGrammar;
126
127    if (equalIgnoringCase(channelName, String("SQLDatabase")))
128        return &LogSQLDatabase;
129
130    if (equalIgnoringCase(channelName, String("StorageAPI")))
131        return &LogStorageAPI;
132
133    if (equalIgnoringCase(channelName, String("LiveConnect")))
134        return &LogLiveConnect;
135
136    if (equalIgnoringCase(channelName, String("Threading")))
137        return &LogThreading;
138
139    if (equalIgnoringCase(channelName, String("FileAPI")))
140        return &LogFileAPI;
141
142    if (equalIgnoringCase(channelName, String("WebAudio")))
143        return &LogWebAudio;
144
145    if (equalIgnoringCase(channelName, String("Compositing")))
146        return &LogCompositing;
147
148    if (equalIgnoringCase(channelName, String("Gamepad")))
149        return &LogGamepad;
150
151    return 0;
152}
153
154}
155
156#endif // !LOG_DISABLED
157