/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 * vim: set sw=4 ts=8 et tw=80 : 
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

include protocol PContent;
include protocol PPluginModule;

namespace mozilla {
namespace dom {

struct Mapping {
  nsCString library_name;
  nsCString file_id;
  uintptr_t start_address;
  size_t mapping_length;
  size_t file_offset;
};

protocol PCrashReporter {
  manager PContent or PPluginModule;
parent:
  AddLibraryMappings(Mapping[] m);
  AnnotateCrashReport(nsCString key, nsCString data);
  AppendAppNotes(nsCString data);
  __delete__();
};

}
}
