123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Copyright (c) 2013 GitHub, Inc.
- // Use of this source code is governed by the MIT license that can be
- // found in the LICENSE file.
- #ifndef ATOM_COMMON_CRASH_REPORTER_CRASH_REPORTER_MAC_H_
- #define ATOM_COMMON_CRASH_REPORTER_CRASH_REPORTER_MAC_H_
- #include <map>
- #include <string>
- #include <vector>
- #include "atom/common/crash_reporter/crash_reporter.h"
- #include "base/compiler_specific.h"
- #include "base/strings/string_piece.h"
- #include "crashpad/client/crash_report_database.h"
- #include "crashpad/client/simple_string_dictionary.h"
- namespace base {
- template <typename T>
- struct DefaultSingletonTraits;
- }
- namespace crash_reporter {
- class CrashReporterMac : public CrashReporter {
- public:
- static CrashReporterMac* GetInstance();
- void InitBreakpad(const std::string& product_name,
- const std::string& version,
- const std::string& company_name,
- const std::string& submit_url,
- const base::FilePath& crashes_dir,
- bool upload_to_server,
- bool skip_system_crash_handler) override;
- void SetUploadParameters() override;
- void SetUploadToServer(bool upload_to_server) override;
- bool GetUploadToServer() override;
- void AddExtraParameter(const std::string& key,
- const std::string& value) override;
- void RemoveExtraParameter(const std::string& key) override;
- std::map<std::string, std::string> GetParameters() const override;
- private:
- friend struct base::DefaultSingletonTraits<CrashReporterMac>;
- CrashReporterMac();
- ~CrashReporterMac() override;
- void SetUploadsEnabled(bool enable_uploads);
- void SetCrashKeyValue(const base::StringPiece& key,
- const base::StringPiece& value);
- std::vector<UploadReportResult> GetUploadedReports(
- const base::FilePath& crashes_dir) override;
- std::unique_ptr<crashpad::SimpleStringDictionary> simple_string_dictionary_;
- std::unique_ptr<crashpad::CrashReportDatabase> database_;
- DISALLOW_COPY_AND_ASSIGN(CrashReporterMac);
- };
- } // namespace crash_reporter
- #endif // ATOM_COMMON_CRASH_REPORTER_CRASH_REPORTER_MAC_H_
|