Ignore contiguous composition event.
[framework/web/webkit-efl.git] / Source / WebKit2 / Shared / WebCoreArgumentCoders.h
1 /*
2  * Copyright (C) 2010, 2011 Apple 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 INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #ifndef WebCoreArgumentCoders_h
27 #define WebCoreArgumentCoders_h
28
29 #include "ArgumentCoders.h"
30
31 namespace WebCore {
32     class AffineTransform;
33     class AuthenticationChallenge;
34     class Color;
35     class Credential;
36     class Cursor;
37     class DatabaseDetails;
38     class FloatPoint;
39     class FloatRect;
40     class FloatSize;
41     class HTTPHeaderMap;
42     class IntPoint;
43     class IntRect;
44     class IntSize;
45     class KeyframeValueList;
46     class KURL;
47     class ProtectionSpace;
48     class ResourceError;
49     class ResourceRequest;
50     class ResourceResponse;
51     struct CompositionUnderline;
52     struct DictationAlternative;
53     struct DragSession;
54     struct FileChooserSettings;
55     struct GrammarDetail;
56     struct MimeClassInfo;
57     struct PluginInfo;
58     struct TextCheckingResult;
59     struct ViewportAttributes;
60     struct WindowFeatures;
61 }
62
63 #if PLATFORM(MAC)
64 namespace WebCore {
65     struct KeypressCommand;
66 }
67 #endif
68
69 namespace CoreIPC {
70
71 template<> struct ArgumentCoder<WebCore::AffineTransform> {
72     static void encode(ArgumentEncoder*, const WebCore::AffineTransform&);
73     static bool decode(ArgumentDecoder*, WebCore::AffineTransform&);
74 };
75
76 template<> struct ArgumentCoder<WebCore::FloatPoint> {
77     static void encode(ArgumentEncoder*, const WebCore::FloatPoint&);
78     static bool decode(ArgumentDecoder*, WebCore::FloatPoint&);
79 };
80
81 template<> struct ArgumentCoder<WebCore::FloatRect> {
82     static void encode(ArgumentEncoder*, const WebCore::FloatRect&);
83     static bool decode(ArgumentDecoder*, WebCore::FloatRect&);
84 };
85
86 template<> struct ArgumentCoder<WebCore::FloatSize> {
87     static void encode(ArgumentEncoder*, const WebCore::FloatSize&);
88     static bool decode(ArgumentDecoder*, WebCore::FloatSize&);
89 };
90
91 template<> struct ArgumentCoder<WebCore::IntPoint> {
92     static void encode(ArgumentEncoder*, const WebCore::IntPoint&);
93     static bool decode(ArgumentDecoder*, WebCore::IntPoint&);
94 };
95
96 template<> struct ArgumentCoder<WebCore::IntRect> {
97     static void encode(ArgumentEncoder*, const WebCore::IntRect&);
98     static bool decode(ArgumentDecoder*, WebCore::IntRect&);
99 };
100
101 template<> struct ArgumentCoder<WebCore::IntSize> {
102     static void encode(ArgumentEncoder*, const WebCore::IntSize&);
103     static bool decode(ArgumentDecoder*, WebCore::IntSize&);
104 };
105
106 template<> struct ArgumentCoder<WebCore::ViewportAttributes> {
107     static void encode(ArgumentEncoder*, const WebCore::ViewportAttributes&);
108     static bool decode(ArgumentDecoder*, WebCore::ViewportAttributes&);
109 };
110
111 template<> struct ArgumentCoder<WebCore::MimeClassInfo> {
112     static void encode(ArgumentEncoder*, const WebCore::MimeClassInfo&);
113     static bool decode(ArgumentDecoder*, WebCore::MimeClassInfo&);
114 };
115
116 template<> struct ArgumentCoder<WebCore::PluginInfo> {
117     static void encode(ArgumentEncoder*, const WebCore::PluginInfo&);
118     static bool decode(ArgumentDecoder*, WebCore::PluginInfo&);
119 };
120
121 template<> struct ArgumentCoder<WebCore::HTTPHeaderMap> {
122     static void encode(ArgumentEncoder*, const WebCore::HTTPHeaderMap&);
123     static bool decode(ArgumentDecoder*, WebCore::HTTPHeaderMap&);
124 };
125
126 template<> struct ArgumentCoder<WebCore::AuthenticationChallenge> {
127     static void encode(ArgumentEncoder*, const WebCore::AuthenticationChallenge&);
128     static bool decode(ArgumentDecoder*, WebCore::AuthenticationChallenge&);
129 };
130
131 template<> struct ArgumentCoder<WebCore::ProtectionSpace> {
132     static void encode(ArgumentEncoder*, const WebCore::ProtectionSpace&);
133     static bool decode(ArgumentDecoder*, WebCore::ProtectionSpace&);
134 };
135
136 template<> struct ArgumentCoder<WebCore::Credential> {
137     static void encode(ArgumentEncoder*, const WebCore::Credential&);
138     static bool decode(ArgumentDecoder*, WebCore::Credential&);
139 };
140
141 template<> struct ArgumentCoder<WebCore::Cursor> {
142     static void encode(ArgumentEncoder*, const WebCore::Cursor&);
143     static bool decode(ArgumentDecoder*, WebCore::Cursor&);
144 };
145
146 template<> struct ArgumentCoder<WebCore::ResourceRequest> {
147     static void encode(ArgumentEncoder*, const WebCore::ResourceRequest&);
148     static bool decode(ArgumentDecoder*, WebCore::ResourceRequest&);
149 };
150
151 template<> struct ArgumentCoder<WebCore::ResourceResponse> {
152     static void encode(ArgumentEncoder*, const WebCore::ResourceResponse&);
153     static bool decode(ArgumentDecoder*, WebCore::ResourceResponse&);
154 };
155 template<> struct ArgumentCoder<WebCore::ResourceError> {
156     static void encode(ArgumentEncoder*, const WebCore::ResourceError&);
157     static bool decode(ArgumentDecoder*, WebCore::ResourceError&);
158 };
159
160 template<> struct ArgumentCoder<WebCore::WindowFeatures> {
161     static void encode(ArgumentEncoder*, const WebCore::WindowFeatures&);
162     static bool decode(ArgumentDecoder*, WebCore::WindowFeatures&);
163 };
164
165 template<> struct ArgumentCoder<WebCore::Color> {
166     static void encode(ArgumentEncoder*, const WebCore::Color&);
167     static bool decode(ArgumentDecoder*, WebCore::Color&);
168 };
169
170 #if PLATFORM(MAC)
171 template<> struct ArgumentCoder<WebCore::KeypressCommand> {
172     static void encode(ArgumentEncoder*, const WebCore::KeypressCommand&);
173     static bool decode(ArgumentDecoder*, WebCore::KeypressCommand&);
174 };
175 #endif
176
177 template<> struct ArgumentCoder<WebCore::CompositionUnderline> {
178     static void encode(ArgumentEncoder*, const WebCore::CompositionUnderline&);
179     static bool decode(ArgumentDecoder*, WebCore::CompositionUnderline&);
180 };
181
182 template<> struct ArgumentCoder<WebCore::DatabaseDetails> {
183     static void encode(ArgumentEncoder*, const WebCore::DatabaseDetails&);
184     static bool decode(ArgumentDecoder*, WebCore::DatabaseDetails&);
185 };
186
187 template<> struct ArgumentCoder<WebCore::DictationAlternative> {
188     static void encode(ArgumentEncoder*, const WebCore::DictationAlternative&);
189     static bool decode(ArgumentDecoder*, WebCore::DictationAlternative&);
190 };
191
192 template<> struct ArgumentCoder<WebCore::FileChooserSettings> {
193     static void encode(ArgumentEncoder*, const WebCore::FileChooserSettings&);
194     static bool decode(ArgumentDecoder*, WebCore::FileChooserSettings&);
195 };
196
197 template<> struct ArgumentCoder<WebCore::GrammarDetail> {
198     static void encode(ArgumentEncoder*, const WebCore::GrammarDetail&);
199     static bool decode(ArgumentDecoder*, WebCore::GrammarDetail&);
200 };
201
202 template<> struct ArgumentCoder<WebCore::TextCheckingResult> {
203     static void encode(ArgumentEncoder*, const WebCore::TextCheckingResult&);
204     static bool decode(ArgumentDecoder*, WebCore::TextCheckingResult&);
205 };
206     
207 template<> struct ArgumentCoder<WebCore::DragSession> {
208     static void encode(ArgumentEncoder*, const WebCore::DragSession&);
209     static bool decode(ArgumentDecoder*, WebCore::DragSession&);
210 };
211
212 template<> struct ArgumentCoder<WebCore::KURL> {
213     static void encode(ArgumentEncoder*, const WebCore::KURL&);
214     static bool decode(ArgumentDecoder*, WebCore::KURL&);
215 };
216
217 } // namespace CoreIPC
218
219 #endif // WebCoreArgumentCoders_h