OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Multiply-included message file, no traditional include guard. | |
6 #include "content/public/common/common_param_traits.h" | |
7 #include "ipc/ipc_message_macros.h" | |
8 #include "ipc/ipc_param_traits.h" | |
9 #include "ipc/ipc_platform_file.h" | |
10 #include "webkit/plugins/ppapi/dir_contents.h" | |
11 #include "webkit/plugins/ppapi/file_path.h" | |
12 | |
13 // Singly-included section since need custom serialization. | |
14 #ifndef CONTENT_COMMON_PEPPER_FILE_MESSAGES_H_ | |
15 #define CONTENT_COMMON_PEPPER_FILE_MESSAGES_H_ | |
16 | |
17 namespace IPC { | |
18 | |
19 template <> | |
20 struct ParamTraits<webkit::ppapi::PepperFilePath> { | |
21 typedef webkit::ppapi::PepperFilePath param_type; | |
22 static void Write(Message* m, const param_type& p); | |
23 static bool Read(const Message* m, PickleIterator* iter, param_type* p); | |
24 static void Log(const param_type& p, std::string* l); | |
25 }; | |
26 | |
27 } // namespace IPC | |
28 | |
29 #endif // CONTENT_COMMON_PEPPER_FILE_MESSAGES_H_ | |
30 | |
31 #define IPC_MESSAGE_START PepperFileMsgStart | |
32 | |
33 IPC_STRUCT_TRAITS_BEGIN(webkit::ppapi::DirEntry) | |
34 IPC_STRUCT_TRAITS_MEMBER(name) | |
35 IPC_STRUCT_TRAITS_MEMBER(is_dir) | |
36 IPC_STRUCT_TRAITS_END() | |
37 | |
38 // Trusted Pepper Filesystem messages from the renderer to the browser. | |
39 | |
40 // Open the file. | |
41 IPC_SYNC_MESSAGE_CONTROL2_2(PepperFileMsg_OpenFile, | |
42 webkit::ppapi::PepperFilePath /* path */, | |
43 int /* flags */, | |
44 base::PlatformFileError /* error_code */, | |
45 IPC::PlatformFileForTransit /* result */) | |
46 | |
47 // Rename the file. | |
48 IPC_SYNC_MESSAGE_CONTROL2_1(PepperFileMsg_RenameFile, | |
49 webkit::ppapi::PepperFilePath /* from_path */, | |
50 webkit::ppapi::PepperFilePath /* to_path */, | |
51 base::PlatformFileError /* error_code */) | |
52 | |
53 // Delete the file. | |
54 IPC_SYNC_MESSAGE_CONTROL2_1(PepperFileMsg_DeleteFileOrDir, | |
55 webkit::ppapi::PepperFilePath /* path */, | |
56 bool /* recursive */, | |
57 base::PlatformFileError /* error_code */) | |
58 | |
59 // Create the directory. | |
60 IPC_SYNC_MESSAGE_CONTROL1_1(PepperFileMsg_CreateDir, | |
61 webkit::ppapi::PepperFilePath /* path */, | |
62 base::PlatformFileError /* error_code */) | |
63 | |
64 // Query the file's info. | |
65 IPC_SYNC_MESSAGE_CONTROL1_2(PepperFileMsg_QueryFile, | |
66 webkit::ppapi::PepperFilePath /* path */, | |
67 base::PlatformFileInfo, /* info */ | |
68 base::PlatformFileError /* error_code */) | |
69 | |
70 // Get the directory's contents. | |
71 IPC_SYNC_MESSAGE_CONTROL1_2(PepperFileMsg_GetDirContents, | |
72 webkit::ppapi::PepperFilePath /* path */, | |
73 webkit::ppapi::DirContents, /* contents */ | |
74 base::PlatformFileError /* error_code */) | |
75 | |
OLD | NEW |