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/include/fxcodec/fx_codec.h" 8 #include "core/include/fpdfapi/fpdf_module.h" 9 10 namespace { 11 12 CPDF_ModuleMgr* g_FPDFAPI_pDefaultMgr = nullptr; 13 14 } // namespace 15 16 // static Get()17CPDF_ModuleMgr* CPDF_ModuleMgr::Get() { 18 return g_FPDFAPI_pDefaultMgr; 19 } 20 21 // static Create()22void CPDF_ModuleMgr::Create() { 23 ASSERT(!g_FPDFAPI_pDefaultMgr); 24 g_FPDFAPI_pDefaultMgr = new CPDF_ModuleMgr; 25 } 26 27 // static Destroy()28void CPDF_ModuleMgr::Destroy() { 29 delete g_FPDFAPI_pDefaultMgr; 30 g_FPDFAPI_pDefaultMgr = nullptr; 31 } 32 CPDF_ModuleMgr()33CPDF_ModuleMgr::CPDF_ModuleMgr() : m_pCodecModule(nullptr) {} 34 ~CPDF_ModuleMgr()35CPDF_ModuleMgr::~CPDF_ModuleMgr() {} 36 SetPrivateData(void * module_id,void * pData,PD_CALLBACK_FREEDATA callback)37void CPDF_ModuleMgr::SetPrivateData(void* module_id, 38 void* pData, 39 PD_CALLBACK_FREEDATA callback) { 40 m_privateData.SetPrivateData(module_id, pData, callback); 41 } GetPrivateData(void * module_id)42void* CPDF_ModuleMgr::GetPrivateData(void* module_id) { 43 return m_privateData.GetPrivateData(module_id); 44 } GetFaxModule()45ICodec_FaxModule* CPDF_ModuleMgr::GetFaxModule() { 46 return m_pCodecModule ? m_pCodecModule->GetFaxModule() : NULL; 47 } GetJpegModule()48ICodec_JpegModule* CPDF_ModuleMgr::GetJpegModule() { 49 return m_pCodecModule ? m_pCodecModule->GetJpegModule() : NULL; 50 } GetJpxModule()51ICodec_JpxModule* CPDF_ModuleMgr::GetJpxModule() { 52 return m_pCodecModule ? m_pCodecModule->GetJpxModule() : NULL; 53 } GetJbig2Module()54ICodec_Jbig2Module* CPDF_ModuleMgr::GetJbig2Module() { 55 return m_pCodecModule ? m_pCodecModule->GetJbig2Module() : NULL; 56 } GetIccModule()57ICodec_IccModule* CPDF_ModuleMgr::GetIccModule() { 58 return m_pCodecModule ? m_pCodecModule->GetIccModule() : NULL; 59 } GetFlateModule()60ICodec_FlateModule* CPDF_ModuleMgr::GetFlateModule() { 61 return m_pCodecModule ? m_pCodecModule->GetFlateModule() : NULL; 62 } 63