blob: aeb0be4555bbaf33e7353d1c265b6188479597ae [file] [log] [blame]
// Copyright 2015 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.
#include "mojo/public/cpp/bindings/tests/pickled_types_chromium.h"
#include "base/pickle.h"
namespace mojo {
namespace test {
PickledStructChromium::PickledStructChromium() {}
PickledStructChromium::PickledStructChromium(int foo, int bar)
: foo_(foo), bar_(bar) {}
PickledStructChromium::~PickledStructChromium() {}
bool operator==(const PickledStructChromium& a,
const PickledStructChromium& b) {
return a.foo() == b.foo() && a.bar() == b.bar() && a.baz() == b.baz();
}
} // namespace test
} // namespace mojo
namespace IPC {
void ParamTraits<mojo::test::PickledStructChromium>::Write(
base::Pickle* m,
const param_type& p) {
m->WriteInt(p.foo());
m->WriteInt(p.bar());
}
bool ParamTraits<mojo::test::PickledStructChromium>::Read(
const base::Pickle* m,
base::PickleIterator* iter,
param_type* p) {
int foo, bar;
if (!iter->ReadInt(&foo) || !iter->ReadInt(&bar))
return false;
p->set_foo(foo);
p->set_bar(bar);
return true;
}
#include "ipc/param_traits_write_macros.h"
IPC_ENUM_TRAITS_MAX_VALUE(mojo::test::PickledEnumChromium,
mojo::test::PickledEnumChromium::VALUE_2)
#include "ipc/param_traits_read_macros.h"
IPC_ENUM_TRAITS_MAX_VALUE(mojo::test::PickledEnumChromium,
mojo::test::PickledEnumChromium::VALUE_2)
#include "ipc/param_traits_log_macros.h"
IPC_ENUM_TRAITS_MAX_VALUE(mojo::test::PickledEnumChromium,
mojo::test::PickledEnumChromium::VALUE_2)
} // namespace IPC