1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 */ 9 10 #ifndef INCLUDED_VCL_INC_SKIA_ZONE_H 11 #define INCLUDED_VCL_INC_SKIA_ZONE_H 12 13 #include <comphelper/crashzone.hxx> 14 15 #include <vcl/dllapi.h> 16 17 #include <comphelper/solarmutex.hxx> 18 19 // Used around calls to Skia code to detect crashes in drivers. 20 class VCL_DLLPUBLIC SkiaZone : public CrashZone<SkiaZone> 21 { 22 public: SkiaZone()23 SkiaZone() { assert(comphelper::SolarMutex::get()->IsCurrentThread()); } 24 static void hardDisable(); 25 static void relaxWatchdogTimings(); 26 static const CrashWatchdogTimingsValues& getCrashWatchdogTimingsValues(); 27 static void checkDebug(int nUnchanged, const CrashWatchdogTimingsValues& aTimingValues); name()28 static const char* name() { return "Skia"; } 29 }; 30 31 #endif // INCLUDED_VCL_INC_SKIA_ZONE_H 32 33 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 34