diff options
Diffstat (limited to 'dom/media/doctor/DDLogMessage.h')
-rw-r--r-- | dom/media/doctor/DDLogMessage.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/dom/media/doctor/DDLogMessage.h b/dom/media/doctor/DDLogMessage.h new file mode 100644 index 0000000000..5470e01da5 --- /dev/null +++ b/dom/media/doctor/DDLogMessage.h @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim:set ts=2 sw=2 sts=2 et cindent: */ +/* 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/. */ + +#ifndef DDLogMessage_h_ +#define DDLogMessage_h_ + +#include "DDLogCategory.h" +#include "DDLogObject.h" +#include "DDLogValue.h" +#include "DDMessageIndex.h" +#include "DDTimeStamp.h" +#include "mozilla/Atomics.h" +#include "nsString.h" + +namespace mozilla { + +class DDLifetimes; + +// Structure containing all the information needed in each log message +// (before and after processing). +struct DDLogMessage { + DDMessageIndex mIndex; + DDTimeStamp mTimeStamp; + DDLogObject mObject; + DDLogCategory mCategory; + const char* mLabel; + DDLogValue mValue = DDLogValue{DDNoValue{}}; + + // Print the message. Format: + // "index | timestamp | object | category | label | value". E.g.: + // "29 | 5.047547 | dom::HTMLMediaElement[134073800] | lnk | decoder | + // MediaDecoder[136078200]" + nsCString Print() const; + + // Print the message, using object information from aLifetimes. Format: + // "index | timestamp | object | category | label | value". E.g.: + // "29 | 5.047547 | dom::HTMLVideoElement[134073800]#1 (as + // dom::HTMLMediaElement) | lnk | decoder | MediaSourceDecoder[136078200]#5 + // (as MediaDecoder)" + nsCString Print(const DDLifetimes& aLifetimes) const; +}; + +} // namespace mozilla + +#endif // DDLogMessage_h_ |