third_party.pigweed.src/pw_stream/BUILD.bazel
Yecheng Zhao 321fb69c2a pw_protobuf: Adds a Message class for parsing
Implement a `Message` class for processing common field types such as
uint32, string, bytes, map<string, >, repeated and nested messages. The
class works on top of protobuf::StreamDecoder. The purpose is to wrap
low level details of StreamDecoder operations, and have an abstraction
layer where proto messages and fields can be represented and handled
like objects. This faciliates implementation of higher level
functionalities that involves sophisticated processing logic on proto
messages, such as update bundle verification.

Bug: 456
Change-Id: I75c30e183c9df0e260f251f51363d3dc79d36703
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/60780
Reviewed-by: Armando Montanez <amontanez@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Commit-Queue: Yecheng Zhao <zyecheng@google.com>
2021-09-18 00:35:32 +00:00

115 lines
2.4 KiB
Python

# Copyright 2020 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
load(
"//pw_build:pigweed.bzl",
"pw_cc_library",
"pw_cc_test",
)
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
pw_cc_library(
name = "pw_stream",
srcs = [
"memory_stream.cc",
],
hdrs = [
"public/pw_stream/memory_stream.h",
"public/pw_stream/null_stream.h",
"public/pw_stream/seek.h",
"public/pw_stream/stream.h",
],
includes = ["public"],
deps = [
"//pw_assert",
"//pw_bytes",
"//pw_result",
"//pw_span",
"//pw_status",
],
)
pw_cc_library(
name = "socket_stream",
srcs = ["socket_stream.cc"],
hdrs = ["public/pw_stream/socket_stream.h"],
deps = [
":pw_stream",
"//pw_log",
"//pw_sys_io",
],
)
pw_cc_library(
name = "sys_io_stream",
hdrs = ["public/pw_stream/sys_io_stream.h"],
deps = [
"//pw_stream",
"//pw_sys_io",
],
)
pw_cc_library(
name = "std_file_stream",
srcs = ["std_file_stream.cc"],
hdrs = ["public/pw_stream/std_file_stream.h"],
deps = [":pw_stream"],
)
pw_cc_library(
name = "interval_reader",
srcs = ["interval_reader.cc"],
hdrs = ["public/pw_stream/interval_reader.h"],
deps = [":pw_stream"],
)
pw_cc_test(
name = "memory_stream_test",
srcs = ["memory_stream_test.cc"],
deps = [
":pw_stream",
"//pw_unit_test",
],
)
pw_cc_test(
name = "seek_test",
srcs = ["seek_test.cc"],
deps = [
":pw_stream",
"//pw_unit_test",
],
)
pw_cc_test(
name = "stream_test",
srcs = ["stream_test.cc"],
deps = [
":pw_stream",
"//pw_unit_test",
],
)
pw_cc_test(
name = "interval_reader_test",
srcs = ["interval_reader_test.cc"],
deps = [
":interval_reader",
"//pw_unit_test",
],
)