123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 'use strict'
- const binding = process.electronBinding('crash_reporter')
- class CrashReporter {
- contructor () {
- this.productName = null
- this.crashesDirectory = null
- }
- init (options) {
- throw new Error('Not implemented')
- }
- start (options) {
- if (options == null) options = {}
- const {
- productName,
- companyName,
- extra = {},
- ignoreSystemCrashHandler = false,
- submitURL,
- uploadToServer = true
- } = options
- if (companyName == null) throw new Error('companyName is a required option to crashReporter.start')
- if (submitURL == null) throw new Error('submitURL is a required option to crashReporter.start')
- const ret = this.init({
- submitURL,
- productName
- })
- this.productName = ret.productName
- this.crashesDirectory = ret.crashesDirectory
- if (extra._productName == null) extra._productName = ret.productName
- if (extra._companyName == null) extra._companyName = companyName
- if (extra._version == null) extra._version = ret.appVersion
- binding.start(ret.productName, companyName, submitURL, ret.crashesDirectory, uploadToServer, ignoreSystemCrashHandler, extra)
- }
- getLastCrashReport () {
- const reports = this.getUploadedReports()
- .sort((a, b) => {
- const ats = (a && a.date) ? new Date(a.date).getTime() : 0
- const bts = (b && b.date) ? new Date(b.date).getTime() : 0
- return bts - ats
- })
- return (reports.length > 0) ? reports[0] : null
- }
- getUploadedReports () {
- return binding.getUploadedReports(this.getCrashesDirectory())
- }
- getCrashesDirectory () {
- return this.crashesDirectory
- }
- getUploadToServer () {
- if (process.type === 'browser') {
- return binding.getUploadToServer()
- } else {
- throw new Error('getUploadToServer can only be called from the main process')
- }
- }
- setUploadToServer (uploadToServer) {
- if (process.type === 'browser') {
- return binding.setUploadToServer(uploadToServer)
- } else {
- throw new Error('setUploadToServer can only be called from the main process')
- }
- }
- addExtraParameter (key, value) {
- binding.addExtraParameter(key, value)
- }
- removeExtraParameter (key) {
- binding.removeExtraParameter(key)
- }
- getParameters () {
- return binding.getParameters()
- }
- }
- module.exports = CrashReporter
|