1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef _NSPROFILERSTARTPARAMS_H_ 7 #define _NSPROFILERSTARTPARAMS_H_ 8 9 #include "nsIProfiler.h" 10 #include "nsString.h" 11 #include "nsTArray.h" 12 13 class nsProfilerStartParams : public nsIProfilerStartParams { 14 public: 15 // This class can be used on multiple threads. For example, it's used for the 16 // observer notification from profiler_start, which can run on any thread but 17 // posts the notification to the main thread. 18 NS_DECL_THREADSAFE_ISUPPORTS 19 NS_DECL_NSIPROFILERSTARTPARAMS 20 21 nsProfilerStartParams(uint32_t aEntries, 22 const mozilla::Maybe<double>& aDuration, 23 double aInterval, uint32_t aFeatures, 24 nsTArray<nsCString>&& aFilters, uint64_t aActiveTabID); 25 26 private: 27 virtual ~nsProfilerStartParams(); 28 uint32_t mEntries; 29 mozilla::Maybe<double> mDuration; 30 double mInterval; 31 uint32_t mFeatures; 32 nsTArray<nsCString> mFilters; 33 uint64_t mActiveTabID; 34 }; 35 36 #endif 37