summaryrefslogtreecommitdiffstats
path: root/content/common/pepper_file_messages.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/common/pepper_file_messages.cc')
-rw-r--r--content/common/pepper_file_messages.cc62
1 files changed, 62 insertions, 0 deletions
diff --git a/content/common/pepper_file_messages.cc b/content/common/pepper_file_messages.cc
new file mode 100644
index 0000000..f84ba89
--- /dev/null
+++ b/content/common/pepper_file_messages.cc
@@ -0,0 +1,62 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#define IPC_MESSAGE_IMPL
+#include "content/common/pepper_file_messages.h"
+
+namespace IPC {
+
+void ParamTraits<webkit::ppapi::DirEntry>::Write(Message* m,
+ const param_type& p) {
+ WriteParam(m, p.name);
+ WriteParam(m, p.is_dir);
+}
+
+bool ParamTraits<webkit::ppapi::DirEntry>::Read(const Message* m,
+ void** iter,
+ param_type* p) {
+ return ReadParam(m, iter, &p->name) &&
+ ReadParam(m, iter, &p->is_dir);
+}
+
+void ParamTraits<webkit::ppapi::DirEntry>::Log(const param_type& p,
+ std::string* l) {
+ l->append("(");
+ LogParam(p.name, l);
+ l->append(", ");
+ LogParam(p.is_dir, l);
+ l->append(")");
+}
+
+void ParamTraits<webkit::ppapi::PepperFilePath>::Write(Message* m,
+ const param_type& p) {
+ WriteParam(m, static_cast<unsigned>(p.domain()));
+ WriteParam(m, p.path());
+}
+
+bool ParamTraits<webkit::ppapi::PepperFilePath>::Read(const Message* m,
+ void** iter,
+ param_type* p) {
+ unsigned domain;
+ FilePath path;
+ if (!ReadParam(m, iter, &domain) || !ReadParam(m, iter, &path))
+ return false;
+ if (domain > webkit::ppapi::PepperFilePath::DOMAIN_MAX_VALID)
+ return false;
+
+ *p = webkit::ppapi::PepperFilePath(
+ static_cast<webkit::ppapi::PepperFilePath::Domain>(domain), path);
+ return true;
+}
+
+void ParamTraits<webkit::ppapi::PepperFilePath>::Log(const param_type& p,
+ std::string* l) {
+ l->append("(");
+ LogParam(static_cast<unsigned>(p.domain()), l);
+ l->append(", ");
+ LogParam(p.path(), l);
+ l->append(")");
+}
+
+} // namespace IPC