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

Unified Diff: minidump/minidump_module_crashpad_info_writer.h

Issue 978463003: minidump: Reorganize MinidumpModuleCrashpadInfo to improve linking between structures (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Minor update Created 5 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: minidump/minidump_module_crashpad_info_writer.h
diff --git a/minidump/minidump_module_crashpad_info_writer.h b/minidump/minidump_module_crashpad_info_writer.h
index 2e56a011433c12280690aebadf406d50a05bfa1c..601da7ee791b9c5a9b4c13eb46172c450e2cc770 100644
--- a/minidump/minidump_module_crashpad_info_writer.h
+++ b/minidump/minidump_module_crashpad_info_writer.h
@@ -23,7 +23,6 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
#include "minidump/minidump_extensions.h"
-#include "minidump/minidump_location_descriptor_list_writer.h"
#include "minidump/minidump_string_writer.h"
#include "minidump/minidump_writable.h"
#include "util/stdlib/pointer_container.h"
@@ -48,20 +47,11 @@ class MinidumpModuleCrashpadInfoWriter final
//! MinidumpSimpleStringDictionaryWriter::IsUseful().
//!
//! \param[in] module_snapshot The module snapshot to use as source data.
- //! \param[in] module_list_index The index of the MINIDUMP_MODULE initialized
- //! from \a module_snapshot in the minidump file’s MINIDUMP_MODULE_LIST
- //! stream.
//!
//! \note Valid in #kStateMutable. No mutator methods may be called before
//! this method, and it is not normally necessary to call any mutator
//! methods after this method.
- void InitializeFromSnapshot(const ModuleSnapshot* module_snapshot,
- size_t module_list_index);
-
- //! \brief Sets MinidumpModuleCrashpadInfo::minidump_module_list_index.
- void SetMinidumpModuleListIndex(uint32_t minidump_module_list_index) {
- module_.minidump_module_list_index = minidump_module_list_index;
- }
+ void InitializeFromSnapshot(const ModuleSnapshot* module_snapshot);
//! \brief Arranges for MinidumpModuleCrashpadInfo::list_annotations to point
//! to the internal::MinidumpUTF8StringListWriter object to be written by
@@ -112,7 +102,7 @@ class MinidumpModuleCrashpadInfoWriter final
//! \brief The writer for a MinidumpModuleCrashpadInfoList object in a minidump
//! file, containing a list of MinidumpModuleCrashpadInfo objects.
class MinidumpModuleCrashpadInfoListWriter final
- : public internal::MinidumpLocationDescriptorListWriter {
+ : public internal::MinidumpWritable {
public:
MinidumpModuleCrashpadInfoListWriter();
~MinidumpModuleCrashpadInfoListWriter() override;
@@ -135,11 +125,17 @@ class MinidumpModuleCrashpadInfoListWriter final
//! \brief Adds a MinidumpModuleCrashpadInfo to the
//! MinidumpModuleCrashpadInfoList.
//!
- //! This object takes ownership of \a module and becomes its parent in the
- //! overall tree of internal::MinidumpWritable objects.
+ //! \param[in] module Extended Crashpad-specific information about the module.
+ //! This object takes ownership of \a module and becomes its parent in the
+ //! overall tree of internal::MinidumpWritable objects.
+ //! \param[in] module_list_index The index of the MINIDUMP_MODULE in the
+ //! minidump file’s MINIDUMP_MODULE_LIST stream that corresponds to \a
+ //! module_crashpad_info.
//!
//! \note Valid in #kStateMutable.
- void AddModule(scoped_ptr<MinidumpModuleCrashpadInfoWriter> module);
+ void AddModule(
+ scoped_ptr<MinidumpModuleCrashpadInfoWriter> module_crashpad_info,
+ size_t minidump_module_list_index);
//! \brief Determines whether the object is useful.
//!
@@ -150,7 +146,18 @@ class MinidumpModuleCrashpadInfoListWriter final
//! \return `true` if the object is useful, `false` otherwise.
bool IsUseful() const;
+ protected:
+ // MinidumpWritable:
+ bool Freeze() override;
+ size_t SizeOfObject() override;
+ std::vector<MinidumpWritable*> Children() override;
+ bool WriteObject(FileWriterInterface* file_writer) override;
+
private:
+ PointerVector<MinidumpModuleCrashpadInfoWriter> module_crashpad_infos_;
+ std::vector<MinidumpModuleCrashpadInfoLink> module_crashpad_info_links_;
+ MinidumpModuleCrashpadInfoList module_crashpad_info_list_base_;
+
DISALLOW_COPY_AND_ASSIGN(MinidumpModuleCrashpadInfoListWriter);
};
« no previous file with comments | « minidump/minidump_location_descriptor_list_writer_test.cc ('k') | minidump/minidump_module_crashpad_info_writer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698