protobuf
src
google
protobuf
compiler
zip_writer.h
Go to the documentation of this file.
1
// Protocol Buffers - Google's data interchange format
2
// Copyright 2008 Google Inc. All rights reserved.
3
// https://developers.google.com/protocol-buffers/
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above
12
// copyright notice, this list of conditions and the following disclaimer
13
// in the documentation and/or other materials provided with the
14
// distribution.
15
// * Neither the name of Google Inc. nor the names of its
16
// contributors may be used to endorse or promote products derived from
17
// this software without specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31
// Protocol Buffers - Google's data interchange format
32
// Copyright 2008 Google Inc. All rights reserved.
33
// https://developers.google.com/protocol-buffers/
34
//
35
// Redistribution and use in source and binary forms, with or without
36
// modification, are permitted provided that the following conditions are
37
// met:
38
//
39
// * Redistributions of source code must retain the above copyright
40
// notice, this list of conditions and the following disclaimer.
41
// * Redistributions in binary form must reproduce the above
42
// copyright notice, this list of conditions and the following disclaimer
43
// in the documentation and/or other materials provided with the
44
// distribution.
45
// * Neither the name of Google Inc. nor the names of its
46
// contributors may be used to endorse or promote products derived from
47
// this software without specific prior written permission.
48
//
49
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
50
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
51
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
52
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
53
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
54
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
55
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
57
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
58
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
59
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
60
61
// Author: kenton@google.com (Kenton Varda)
62
63
#include <vector>
64
#include <
google/protobuf/stubs/common.h
>
65
#include <
google/protobuf/io/zero_copy_stream.h
>
66
67
namespace
google
{
68
namespace
protobuf {
69
namespace
compiler
{
70
71
class
ZipWriter
{
72
public
:
73
ZipWriter
(
io::ZeroCopyOutputStream
* raw_output);
74
~ZipWriter
();
75
76
bool
Write
(
const
std::string
& filename,
const
std::string
& contents);
77
bool
WriteDirectory
();
78
79
private
:
80
struct
FileInfo
{
81
std::string
name
;
82
uint32
offset
;
83
uint32
size
;
84
uint32
crc32
;
85
};
86
87
io::ZeroCopyOutputStream
*
raw_output_
;
88
std::vector<FileInfo>
files_
;
89
};
90
91
}
// namespace compiler
92
}
// namespace protobuf
93
}
// namespace google
zero_copy_stream.h
google::protobuf::compiler::ZipWriter::WriteDirectory
bool WriteDirectory()
Definition:
zip_writer.cc:173
google::protobuf::uint32
uint32_t uint32
Definition:
protobuf/src/google/protobuf/stubs/port.h:155
string
GLsizei const GLchar *const * string
Definition:
glcorearb.h:3083
google::protobuf::compiler::ZipWriter::FileInfo::size
uint32 size
Definition:
zip_writer.h:83
google::protobuf::compiler::ZipWriter::~ZipWriter
~ZipWriter()
Definition:
zip_writer.cc:140
google::protobuf::compiler::ZipWriter::raw_output_
io::ZeroCopyOutputStream * raw_output_
Definition:
zip_writer.h:87
google::protobuf::compiler::ZipWriter::FileInfo::offset
uint32 offset
Definition:
zip_writer.h:82
google::protobuf::compiler::ZipWriter::ZipWriter
ZipWriter(io::ZeroCopyOutputStream *raw_output)
Definition:
zip_writer.cc:138
google::protobuf::compiler::ZipWriter::files_
std::vector< FileInfo > files_
Definition:
zip_writer.h:88
google::protobuf::compiler::ZipWriter::Write
bool Write(const std::string &filename, const std::string &contents)
Definition:
zip_writer.cc:142
google::protobuf::compiler::ZipWriter::FileInfo::name
std::string name
Definition:
zip_writer.h:81
common.h
google::protobuf::compiler::ZipWriter::FileInfo
Definition:
zip_writer.h:80
google::protobuf::io::ZeroCopyOutputStream
Definition:
zero_copy_stream.h:183
google::protobuf::compiler::ZipWriter
Definition:
zip_writer.h:71
google::protobuf::compiler::ZipWriter::FileInfo::crc32
uint32 crc32
Definition:
zip_writer.h:84
compiler
Definition:
plugin.pb.cc:22
google
Definition:
data_proto2_to_proto3_util.h:11
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:02