From 674bbfe24ded465a4d27b268ca84f75976d556da Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 30 Aug 2017 15:37:47 -0400 Subject: Split auto restorer from fx_basic This CL moves CFX_AutoRestorer into its own file, separate from fx_basic.h. Change-Id: I415cb9207416bd4744b8ac8e2d7466852db53f0a Reviewed-on: https://pdfium-review.googlesource.com/12390 Commit-Queue: dsinclair Reviewed-by: Tom Sepez --- core/fpdfapi/parser/cpdf_syntax_parser.cpp | 1 + core/fpdfapi/render/cpdf_renderstatus.cpp | 1 + core/fxcrt/cfx_autorestorer.h | 20 ++++++++++++++++++++ core/fxcrt/fx_basic.h | 12 ------------ 4 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 core/fxcrt/cfx_autorestorer.h (limited to 'core') diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.cpp b/core/fpdfapi/parser/cpdf_syntax_parser.cpp index 7592438258..c0d21217a5 100644 --- a/core/fpdfapi/parser/cpdf_syntax_parser.cpp +++ b/core/fpdfapi/parser/cpdf_syntax_parser.cpp @@ -25,6 +25,7 @@ #include "core/fpdfapi/parser/cpdf_string.h" #include "core/fpdfapi/parser/fpdf_parser_decode.h" #include "core/fpdfapi/parser/fpdf_parser_utility.h" +#include "core/fxcrt/cfx_autorestorer.h" #include "core/fxcrt/fx_extension.h" #include "third_party/base/numerics/safe_math.h" #include "third_party/base/ptr_util.h" diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp index 01deab0bea..1f949fb440 100644 --- a/core/fpdfapi/render/cpdf_renderstatus.cpp +++ b/core/fpdfapi/render/cpdf_renderstatus.cpp @@ -46,6 +46,7 @@ #include "core/fpdfapi/render/cpdf_type3cache.h" #include "core/fpdfdoc/cpdf_occontext.h" #include "core/fxcodec/fx_codec.h" +#include "core/fxcrt/cfx_autorestorer.h" #include "core/fxcrt/cfx_maybe_owned.h" #include "core/fxcrt/fx_safe_types.h" #include "core/fxge/cfx_defaultrenderdevice.h" diff --git a/core/fxcrt/cfx_autorestorer.h b/core/fxcrt/cfx_autorestorer.h new file mode 100644 index 0000000000..a8c5125c4e --- /dev/null +++ b/core/fxcrt/cfx_autorestorer.h @@ -0,0 +1,20 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CORE_FXCRT_CFX_AUTORESTORER_H_ +#define CORE_FXCRT_CFX_AUTORESTORER_H_ + +template +class CFX_AutoRestorer { + public: + explicit CFX_AutoRestorer(T* location) + : m_Location(location), m_OldValue(*location) {} + ~CFX_AutoRestorer() { *m_Location = m_OldValue; } + + private: + T* const m_Location; + const T m_OldValue; +}; + +#endif // CORE_FXCRT_CFX_AUTORESTORER_H_ diff --git a/core/fxcrt/fx_basic.h b/core/fxcrt/fx_basic.h index 167ef5ce70..8e3312d365 100644 --- a/core/fxcrt/fx_basic.h +++ b/core/fxcrt/fx_basic.h @@ -142,18 +142,6 @@ class IFX_Pause { virtual bool NeedToPauseNow() = 0; }; -template -class CFX_AutoRestorer { - public: - explicit CFX_AutoRestorer(T* location) - : m_Location(location), m_OldValue(*location) {} - ~CFX_AutoRestorer() { *m_Location = m_OldValue; } - - private: - T* const m_Location; - const T m_OldValue; -}; - uint32_t GetBits32(const uint8_t* pData, int bitpos, int nbits); #endif // CORE_FXCRT_FX_BASIC_H_ -- cgit v1.2.3