Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: minidump/minidump_writable.h

Issue 707543002: MinidumpLocationDescriptorListWriter (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Address review feedback Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « minidump/minidump_module_crashpad_info_writer_test.cc ('k') | minidump/minidump_writable.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 14 matching lines...) Expand all
25 namespace crashpad { 25 namespace crashpad {
26 26
27 class FileWriterInterface; 27 class FileWriterInterface;
28 28
29 namespace internal { 29 namespace internal {
30 30
31 //! \brief The base class for all content that might be written to a minidump 31 //! \brief The base class for all content that might be written to a minidump
32 //! file. 32 //! file.
33 class MinidumpWritable { 33 class MinidumpWritable {
34 public: 34 public:
35 virtual ~MinidumpWritable();
36
35 //! \brief Writes an object and all of its children to a minidump file. 37 //! \brief Writes an object and all of its children to a minidump file.
36 //! 38 //!
37 //! Use this on the root object of a tree of MinidumpWritable objects, 39 //! Use this on the root object of a tree of MinidumpWritable objects,
38 //! typically on a MinidumpFileWriter object. 40 //! typically on a MinidumpFileWriter object.
39 //! 41 //!
40 //! \param[in] file_writer The file writer to receive the minidump file’s 42 //! \param[in] file_writer The file writer to receive the minidump file’s
41 //! content. 43 //! content.
42 //! 44 //!
43 //! \return `true` on success. `false` on failure, with an appropriate message 45 //! \return `true` on success. `false` on failure, with an appropriate message
44 //! logged. 46 //! logged.
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 //! not need to be consulted in order to process a minidump file. 129 //! not need to be consulted in order to process a minidump file.
128 kPhaseLate, 130 kPhaseLate,
129 }; 131 };
130 132
131 //! \brief A size value used to signal failure by methods that return 133 //! \brief A size value used to signal failure by methods that return
132 //! `size_t`. 134 //! `size_t`.
133 static const size_t kInvalidSize; 135 static const size_t kInvalidSize;
134 136
135 MinidumpWritable(); 137 MinidumpWritable();
136 138
137 // This doesn’t really need to be virtual because nothing ever deletes a
138 // MinidumpWritable* through an interface pointer with that type, and this is
139 // guaranteed by being protected. Regardless, the style guide is somewhat
140 // insistent.
141 // http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance
142 virtual ~MinidumpWritable();
143
144 //! \brief The state of the object. 139 //! \brief The state of the object.
145 State state() const { return state_; } 140 State state() const { return state_; }
146 141
147 //! \brief Transitions the object from #kStateMutable to #kStateFrozen. 142 //! \brief Transitions the object from #kStateMutable to #kStateFrozen.
148 //! 143 //!
149 //! The default implementation marks the object as frozen and recursively 144 //! The default implementation marks the object as frozen and recursively
150 //! calls Freeze() on all of its children. Subclasses may override this method 145 //! calls Freeze() on all of its children. Subclasses may override this method
151 //! to perform processing that should only be done once callers have finished 146 //! to perform processing that should only be done once callers have finished
152 //! populating an object with data. Typically, a subclass implementation would 147 //! populating an object with data. Typically, a subclass implementation would
153 //! call RegisterRVA() or RegisterLocationDescriptor() on other objects as 148 //! call RegisterRVA() or RegisterLocationDescriptor() on other objects as
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 size_t leading_pad_bytes_; 268 size_t leading_pad_bytes_;
274 State state_; 269 State state_;
275 270
276 DISALLOW_COPY_AND_ASSIGN(MinidumpWritable); 271 DISALLOW_COPY_AND_ASSIGN(MinidumpWritable);
277 }; 272 };
278 273
279 } // namespace internal 274 } // namespace internal
280 } // namespace crashpad 275 } // namespace crashpad
281 276
282 #endif // CRASHPAD_MINIDUMP_MINIDUMP_WRITABLE_H_ 277 #endif // CRASHPAD_MINIDUMP_MINIDUMP_WRITABLE_H_
OLDNEW
« no previous file with comments | « minidump/minidump_module_crashpad_info_writer_test.cc ('k') | minidump/minidump_writable.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698