• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #include "core/fpdfapi/cpdf_modulemgr.h"
8 
9 #include "core/fpdfapi/page/cpdf_pagemodule.h"
10 #include "core/fxcodec/fx_codec.h"
11 #include "third_party/base/ptr_util.h"
12 
13 namespace {
14 
15 CPDF_ModuleMgr* g_pDefaultMgr = nullptr;
16 
17 }  // namespace
18 
19 // static
Get()20 CPDF_ModuleMgr* CPDF_ModuleMgr::Get() {
21   if (!g_pDefaultMgr)
22     g_pDefaultMgr = new CPDF_ModuleMgr;
23   return g_pDefaultMgr;
24 }
25 
26 // static
Destroy()27 void CPDF_ModuleMgr::Destroy() {
28   delete g_pDefaultMgr;
29   g_pDefaultMgr = nullptr;
30 }
31 
CPDF_ModuleMgr()32 CPDF_ModuleMgr::CPDF_ModuleMgr() : m_pCodecModule(nullptr) {}
33 
~CPDF_ModuleMgr()34 CPDF_ModuleMgr::~CPDF_ModuleMgr() {}
35 
InitPageModule()36 void CPDF_ModuleMgr::InitPageModule() {
37   m_pPageModule = pdfium::MakeUnique<CPDF_PageModule>();
38 }
39 
GetFaxModule()40 CCodec_FaxModule* CPDF_ModuleMgr::GetFaxModule() {
41   return m_pCodecModule ? m_pCodecModule->GetFaxModule() : nullptr;
42 }
43 
GetJpegModule()44 CCodec_JpegModule* CPDF_ModuleMgr::GetJpegModule() {
45   return m_pCodecModule ? m_pCodecModule->GetJpegModule() : nullptr;
46 }
47 
GetJpxModule()48 CCodec_JpxModule* CPDF_ModuleMgr::GetJpxModule() {
49   return m_pCodecModule ? m_pCodecModule->GetJpxModule() : nullptr;
50 }
51 
GetJbig2Module()52 CCodec_Jbig2Module* CPDF_ModuleMgr::GetJbig2Module() {
53   return m_pCodecModule ? m_pCodecModule->GetJbig2Module() : nullptr;
54 }
55 
GetIccModule()56 CCodec_IccModule* CPDF_ModuleMgr::GetIccModule() {
57   return m_pCodecModule ? m_pCodecModule->GetIccModule() : nullptr;
58 }
59 
GetFlateModule()60 CCodec_FlateModule* CPDF_ModuleMgr::GetFlateModule() {
61   return m_pCodecModule ? m_pCodecModule->GetFlateModule() : nullptr;
62 }
63