summaryrefslogtreecommitdiffstats
path: root/mojo
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 04:36:43 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 04:36:43 +0000
commitf2a5cc60228a385ea995c183e53cd33498b2245e (patch)
tree5cc2c617b8be683b2ac61eea521f3e4284cf9db8 /mojo
parentb7384ceccde155dfc46b131ac43113c9e5ffdbe4 (diff)
downloadchromium_src-f2a5cc60228a385ea995c183e53cd33498b2245e.zip
chromium_src-f2a5cc60228a385ea995c183e53cd33498b2245e.tar.gz
chromium_src-f2a5cc60228a385ea995c183e53cd33498b2245e.tar.bz2
Remove now defunct MessageBuilder class.
R=ben@chromium.org Review URL: https://codereview.chromium.org/23439010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224893 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo')
-rw-r--r--mojo/mojo.gyp31
-rw-r--r--mojo/public/libs/message/README40
-rw-r--r--mojo/public/libs/message/message.cc15
-rw-r--r--mojo/public/libs/message/message.h57
-rw-r--r--mojo/public/libs/message/message_builder.cc189
-rw-r--r--mojo/public/libs/message/message_builder.h70
-rw-r--r--mojo/public/libs/message/message_unittest.cc83
7 files changed, 0 insertions, 485 deletions
diff --git a/mojo/mojo.gyp b/mojo/mojo.gyp
index e323d28..2cd3d5c 100644
--- a/mojo/mojo.gyp
+++ b/mojo/mojo.gyp
@@ -13,37 +13,6 @@
{
'target_name': 'mojo',
'type': 'none',
- 'dependencies': [
- 'mojo_message',
- ],
- },
- {
- 'target_name': 'mojo_message',
- 'type': 'static_library',
- 'include_dirs': [
- '..',
- ],
- 'sources': [
- 'public/libs/message/message.cc',
- 'public/libs/message/message.h',
- 'public/libs/message/message_builder.cc',
- 'public/libs/message/message_builder.h',
- ],
- },
- {
- 'target_name': 'mojo_unittests',
- 'type': 'executable',
- 'dependencies': [
- 'mojo_message',
- '../base/base.gyp:run_all_unittests',
- '../testing/gtest.gyp:gtest',
- ],
- 'include_dirs': [
- '..'
- ],
- 'sources': [
- 'public/libs/message/message_unittest.cc',
- ],
},
],
}
diff --git a/mojo/public/libs/message/README b/mojo/public/libs/message/README
deleted file mode 100644
index 0b73e7d..0000000
--- a/mojo/public/libs/message/README
+++ /dev/null
@@ -1,40 +0,0 @@
-MESSAGE FORMAT
-==============
-
-A Mojo IPC message resembles a property bag, with ordinals as property names.
-
-Message:
- [ MessageSize | MessageName | Field_1 | Field_2 | ... | Field_N ]
-
-MessageSize:
- [ U32 ]
-
-MessageName:
- [ U32 ]
-
-Field:
- [ FieldHeader | FieldValue ]
-
-FieldHeader:
- [ FieldName | FieldType ]
-
-FieldName:
- [ U16 ]
-
-FieldType:
- [ U14 | FieldClass ]
-
-FieldClass:
- [ U2 ]
-
- 01 - FieldValue is a 32-bit value (U32)
- 10 - FieldValue is a 64-bit value (U64)
- 11 - FieldValue is a variable-length array
-
-FieldValue:
- [ U32 ]
- [ U64 ]
- [ FieldSize | FieldBytes ]
-
-FieldSize:
- [ U32 ]
diff --git a/mojo/public/libs/message/message.cc b/mojo/public/libs/message/message.cc
deleted file mode 100644
index 933ea51..0000000
--- a/mojo/public/libs/message/message.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2013 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/libs/message/message.h"
-
-namespace mojo {
-
-Message::Message() {
-}
-
-Message::~Message() {
-}
-
-} // namespace mojo
diff --git a/mojo/public/libs/message/message.h b/mojo/public/libs/message/message.h
deleted file mode 100644
index 94d52e6..0000000
--- a/mojo/public/libs/message/message.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2013 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.
-
-#ifndef MOJO_PUBLIC_LIBS_MESSAGE_MESSAGE_H_
-#define MOJO_PUBLIC_LIBS_MESSAGE_MESSAGE_H_
-
-#include <stdint.h>
-
-#include <vector>
-
-#include "mojo/public/system/core.h"
-
-namespace mojo {
-
-enum MessageFieldClass {
- kMessageFieldClass_U32 = 0x1,
- kMessageFieldClass_U64 = 0x2,
- kMessageFieldClass_Array = 0x3,
-};
-
-enum MessageFieldType {
- kMessageFieldType_Bool = 0x1 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Int8 = 0x2 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Int16 = 0x3 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Int32 = 0x4 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Int64 = 0x5 << 2 | kMessageFieldClass_U64,
- kMessageFieldType_Uint8 = 0x6 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Uint16 = 0x7 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Uint32 = 0x8 << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Uint64 = 0x9 << 2 | kMessageFieldClass_U64,
- kMessageFieldType_Float = 0xA << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Double = 0xB << 2 | kMessageFieldClass_U64,
- kMessageFieldType_String = 0xC << 2 | kMessageFieldClass_Array,
- kMessageFieldType_Bytes = 0xD << 2 | kMessageFieldClass_Array,
- kMessageFieldType_Handle = 0xE << 2 | kMessageFieldClass_U32,
- kMessageFieldType_Message = 0xF << 2 | kMessageFieldClass_Array,
-};
-
-class Message {
- public:
- Message();
- ~Message();
-
- const std::vector<uint8_t>& data() const { return data_; }
- const std::vector<Handle>& handles() const { return handles_; }
-
- private:
- friend class MessageBuilder;
-
- std::vector<uint8_t> data_;
- std::vector<Handle> handles_;
-};
-
-} // namespace mojo
-
-#endif // MOJO_PUBLIC_LIBS_MESSAGE_MESSAGE_H_
diff --git a/mojo/public/libs/message/message_builder.cc b/mojo/public/libs/message/message_builder.cc
deleted file mode 100644
index 1115ee0..0000000
--- a/mojo/public/libs/message/message_builder.cc
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright 2013 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/libs/message/message_builder.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <limits>
-
-#include "base/logging.h"
-#include "mojo/public/libs/message/message.h"
-
-namespace mojo {
-namespace {
-
-const size_t kAlignment = 8U;
-const size_t kMessageHeaderSize = 8U;
-
-} // namespace
-
-MessageBuilder::MessageBuilder() {
-}
-
-MessageBuilder::~MessageBuilder() {
-}
-
-bool MessageBuilder::Initialize(uint32_t message_name) {
- uint32_t message_header[2] = {
- 0, // Length in bytes to be filled out in Finish.
- message_name
- };
- COMPILE_ASSERT(kMessageHeaderSize == sizeof(message_header),
- unexpected_message_header_size);
-
- return AppendRawBytes(&message_header, sizeof(message_header));
-}
-
-bool MessageBuilder::Append(uint16_t name, int8_t value) {
- return AppendU32(name, kMessageFieldType_Int8, static_cast<uint8_t>(value));
-}
-
-bool MessageBuilder::Append(uint16_t name, int16_t value) {
- return AppendU32(name, kMessageFieldType_Int16, static_cast<uint16_t>(value));
-}
-
-bool MessageBuilder::Append(uint16_t name, int32_t value) {
- return AppendU32(name, kMessageFieldType_Int32, static_cast<uint32_t>(value));
-}
-
-bool MessageBuilder::Append(uint16_t name, int64_t value) {
- return AppendU64(name, kMessageFieldType_Int64, static_cast<uint64_t>(value));
-}
-
-bool MessageBuilder::Append(uint16_t name, uint8_t value) {
- return AppendU32(name, kMessageFieldType_Uint8, value);
-}
-
-bool MessageBuilder::Append(uint16_t name, uint16_t value) {
- return AppendU32(name, kMessageFieldType_Uint16, value);
-}
-
-bool MessageBuilder::Append(uint16_t name, uint32_t value) {
- return AppendU32(name, kMessageFieldType_Uint32, value);
-}
-
-bool MessageBuilder::Append(uint16_t name, uint64_t value) {
- return AppendU64(name, kMessageFieldType_Uint64, value);
-}
-
-bool MessageBuilder::Append(uint16_t name, const std::string& value) {
- return AppendArray(name, kMessageFieldType_String, value.data(),
- value.size());
-}
-
-bool MessageBuilder::Append(uint16_t name, const void* bytes,
- size_t num_bytes) {
- return AppendArray(name, kMessageFieldType_Bytes, bytes, num_bytes);
-}
-
-bool MessageBuilder::Append(uint16_t name, Handle handle) {
- uint32_t index = static_cast<uint32_t>(handles_.size());
-
- if (!AppendU32(name, kMessageFieldType_Handle, index))
- return false;
-
- handles_.push_back(handle);
-
- // TODO(darin): Should we even worry about memory allocation failure?
- return handles_.size() == index + 1;
-}
-
-bool MessageBuilder::Append(uint16_t name, const Message& message) {
- if (!AppendArray(name, kMessageFieldType_Message, &message.data()[0],
- message.data().size()))
- return false;
-
- size_t size_before = handles_.size();
- handles_.insert(handles_.end(),
- message.handles().begin(),
- message.handles().end());
-
- // TODO(darin): Should we even worry about memory allocation failure?
- return handles_.size() == size_before + message.handles().size();
-}
-
-bool MessageBuilder::Finish(Message* message) {
- if (data_.empty())
- return false;
-
- // Initialize should have been called.
- DCHECK(data_.size() >= kMessageHeaderSize);
-
- uint32_t payload_size =
- static_cast<uint32_t>(data_.size() - sizeof(uint32_t));
-
- // Stamp payload size into the message.
- memcpy(&data_[0], &payload_size, sizeof(payload_size));
-
- message->data_.swap(data_);
- message->handles_.swap(handles_);
- return true;
-}
-
-bool MessageBuilder::AppendU32(uint16_t name, MessageFieldType field_type,
- uint32_t value) {
- return AppendHeader(name, field_type) &&
- AppendRawBytes(&value, sizeof(value));
-}
-
-bool MessageBuilder::AppendU64(uint16_t name, MessageFieldType field_type,
- uint64_t value) {
- // Insert padding to achieve 8-byte alignment.
- return AppendHeader(name, field_type) &&
- AppendPadding(4U) &&
- AppendRawBytes(&value, sizeof(value));
-}
-
-bool MessageBuilder::AppendArray(uint16_t name, MessageFieldType field_type,
- const void* bytes, size_t num_bytes) {
- if (num_bytes > std::numeric_limits<uint32_t>::max())
- return false;
- uint32_t size = static_cast<uint32_t>(num_bytes);
-
- // Append padding to achieve 8-byte alignment.
- size_t padding_size = kAlignment - num_bytes % kAlignment;
-
- return AppendHeader(name, field_type) &&
- AppendRawBytes(&size, sizeof(size)) &&
- AppendRawBytes(bytes, size) &&
- AppendPadding(padding_size);
-}
-
-bool MessageBuilder::AppendHeader(uint16_t name, MessageFieldType field_type) {
- // Initialize should have been called.
- DCHECK(data_.size() >= kMessageHeaderSize);
-
- uint32_t header = static_cast<uint32_t>(name) << 16 |
- static_cast<uint32_t>(field_type);
- return AppendRawBytes(&header, sizeof(header));
-}
-
-bool MessageBuilder::AppendPadding(size_t num_bytes) {
- if (num_bytes == 0)
- return true;
- DCHECK(num_bytes < kAlignment);
-
- const uint8_t kNulls[kAlignment - 1] = { 0 };
- return AppendRawBytes(kNulls, num_bytes);
-}
-
-bool MessageBuilder::AppendRawBytes(const void* bytes, size_t num_bytes) {
- if (!num_bytes)
- return true;
-
- const uint8_t* data_start = static_cast<const uint8_t*>(bytes);
- const uint8_t* data_end = data_start + num_bytes;
-
- size_t size_before = data_.size();
-
- // TODO(darin): Call reserve() here?
- data_.insert(data_.end(), data_start, data_end);
-
- // TODO(darin): Should we even worry about memory allocation failure?
- return data_.size() == size_before + num_bytes;
-}
-
-} // namespace mojo
diff --git a/mojo/public/libs/message/message_builder.h b/mojo/public/libs/message/message_builder.h
deleted file mode 100644
index 671499b..0000000
--- a/mojo/public/libs/message/message_builder.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2013 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.
-
-#ifndef MOJO_PUBLIC_LIBS_MESSAGE_MESSAGE_BUIDER_H_
-#define MOJO_PUBLIC_LIBS_MESSAGE_MESSAGE_BUIDER_H_
-
-#include <stdint.h>
-
-#include <string>
-#include <vector>
-
-#include "mojo/public/libs/message/message.h"
-
-namespace mojo {
-
-class MessageBuilder {
- public:
- MessageBuilder();
- ~MessageBuilder();
-
- bool Initialize(uint32_t message_name);
-
- bool Append(uint16_t name, bool value);
-
- bool Append(uint16_t name, int8_t value);
- bool Append(uint16_t name, int16_t value);
- bool Append(uint16_t name, int32_t value);
- bool Append(uint16_t name, int64_t value);
-
- bool Append(uint16_t name, uint8_t value);
- bool Append(uint16_t name, uint16_t value);
- bool Append(uint16_t name, uint32_t value);
- bool Append(uint16_t name, uint64_t value);
-
- bool Append(uint16_t name, float value);
- bool Append(uint16_t name, double value);
-
- bool Append(uint16_t name, const std::string& value);
- bool Append(uint16_t name, const void* bytes, size_t num_bytes);
-
- template <typename C>
- bool Append(uint16_t name, const C& container) {
- return Append(name, container.data(), container.size());
- }
-
- // TODO(darin): Add support for arrays of other types.
-
- bool Append(uint16_t name, Handle handle);
- bool Append(uint16_t name, const Message& message);
-
- bool Finish(Message* message);
-
- private:
- bool AppendU32(uint16_t name, MessageFieldType field_type, uint32_t value);
- bool AppendU64(uint16_t name, MessageFieldType field_type, uint64_t value);
- bool AppendArray(uint16_t name, MessageFieldType field_type,
- const void* bytes, size_t num_bytes);
-
- bool AppendHeader(uint16_t name, MessageFieldType field_type);
- bool AppendPadding(size_t num_bytes);
- bool AppendRawBytes(const void* bytes, size_t num_bytes);
-
- std::vector<uint8_t> data_;
- std::vector<Handle> handles_;
-};
-
-} // namespace mojo
-
-#endif // MOJO_PUBLIC_LIBS_MESSAGE_BUILDER_H_
diff --git a/mojo/public/libs/message/message_unittest.cc b/mojo/public/libs/message/message_unittest.cc
deleted file mode 100644
index 209dee8..0000000
--- a/mojo/public/libs/message/message_unittest.cc
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2013 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/libs/message/message.h"
-
-#include <string>
-
-#include "mojo/public/libs/message/message_builder.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace mojo {
-
-TEST(Message, Empty) {
- Message message;
- EXPECT_EQ(0U, message.data().size());
-}
-
-TEST(Message, Builder_Empty) {
- MessageBuilder builder;
- EXPECT_TRUE(builder.Initialize(1));
-
- Message message;
- EXPECT_TRUE(builder.Finish(&message));
-
- EXPECT_EQ(message.data().size(), 8U);
-}
-
-TEST(Message, Builder_Basic) {
- MessageBuilder builder;
- EXPECT_TRUE(builder.Initialize(1));
-
- EXPECT_TRUE(builder.Append(1, 2U));
-
- Message message;
- EXPECT_TRUE(builder.Finish(&message));
-
- EXPECT_EQ(message.data().size(), 8U + 8U);
-}
-
-TEST(Message, Builder_BasicPair) {
- MessageBuilder builder;
- EXPECT_TRUE(builder.Initialize(1));
-
- EXPECT_TRUE(builder.Append(1, 100));
- EXPECT_TRUE(builder.Append(2, 200));
-
- Message message;
- EXPECT_TRUE(builder.Finish(&message));
-
- EXPECT_EQ(message.data().size(), 8U + 8U + 8U);
-}
-
-TEST(Message, Builder_BasicString) {
- MessageBuilder builder;
- EXPECT_TRUE(builder.Initialize(1));
-
- EXPECT_TRUE(builder.Append(1, 100));
- EXPECT_TRUE(builder.Append(2, 200));
- EXPECT_TRUE(builder.Append(3, std::string("hello world")));
-
- Message message;
- EXPECT_TRUE(builder.Finish(&message));
-
- EXPECT_EQ(message.data().size(), 8U + 8U + 8U + 8U + 16U);
-}
-
-TEST(Message, Builder_BasicHandle) {
- MessageBuilder builder;
- EXPECT_TRUE(builder.Initialize(1));
-
- mojo::Handle handle = { 1 };
-
- EXPECT_TRUE(builder.Append(1, handle));
-
- Message message;
- EXPECT_TRUE(builder.Finish(&message));
-
- EXPECT_EQ(message.data().size(), 8U + 8U);
- EXPECT_EQ(message.handles().size(), 1U);
-}
-
-} // namespace mojo