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