|
1 /* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 8 -*- */ |
|
2 /* vim: set sw=4 ts=8 et tw=80 ft=cpp : */ |
|
3 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
4 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
6 |
|
7 // This is a NPEventX11.h derived stub for Android |
|
8 // Plugins aren't actually supported yet |
|
9 |
|
10 #ifndef mozilla_dom_plugins_NPEventAndroid_h |
|
11 #define mozilla_dom_plugins_NPEventAndroid_h |
|
12 |
|
13 #include "npapi.h" |
|
14 |
|
15 namespace mozilla { |
|
16 |
|
17 namespace plugins { |
|
18 |
|
19 struct NPRemoteEvent { |
|
20 NPEvent event; |
|
21 }; |
|
22 |
|
23 } |
|
24 |
|
25 } |
|
26 |
|
27 |
|
28 namespace IPC { |
|
29 |
|
30 template <> |
|
31 struct ParamTraits<mozilla::plugins::NPRemoteEvent> |
|
32 { |
|
33 typedef mozilla::plugins::NPRemoteEvent paramType; |
|
34 |
|
35 static void Write(Message* aMsg, const paramType& aParam) |
|
36 { |
|
37 aMsg->WriteBytes(&aParam, sizeof(paramType)); |
|
38 } |
|
39 |
|
40 static bool Read(const Message* aMsg, void** aIter, paramType* aResult) |
|
41 { |
|
42 const char* bytes = 0; |
|
43 |
|
44 if (!aMsg->ReadBytes(aIter, &bytes, sizeof(paramType))) { |
|
45 return false; |
|
46 } |
|
47 |
|
48 memcpy(aResult, bytes, sizeof(paramType)); |
|
49 return true; |
|
50 } |
|
51 |
|
52 static void Log(const paramType& aParam, std::wstring* aLog) |
|
53 { |
|
54 // TODO |
|
55 aLog->append(L"(AndroidEvent)"); |
|
56 } |
|
57 }; |
|
58 |
|
59 } // namespace IPC |
|
60 |
|
61 |
|
62 #endif // mozilla_dom_plugins_NPEventAndroid_h |