Make a bunch of JBig2 classes independent of CJBig2_Object.
[pdfium.git] / core / src / fxcodec / jbig2 / JBig2_Module.h
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 #ifndef _JBIG2_MODULE_H_
8 #define _JBIG2_MODULE_H_
9 #include "JBig2_Define.h"
10 class CJBig2_Module {
11  public:
12   virtual ~CJBig2_Module() {}
13
14   virtual void* JBig2_Malloc(FX_DWORD dwSize) = 0;
15
16   virtual void* JBig2_Malloc2(FX_DWORD num, FX_DWORD dwSize) = 0;
17
18   virtual void* JBig2_Malloc3(FX_DWORD num,
19                               FX_DWORD dwSize,
20                               FX_DWORD dwSize2) = 0;
21
22   virtual void* JBig2_Realloc(void* pMem, FX_DWORD dwSize) = 0;
23
24   virtual void JBig2_Free(void* pMem) = 0;
25
26   virtual void JBig2_Assert(int32_t nExpression) {}
27
28   virtual void JBig2_Error(const FX_CHAR* format, ...) {}
29
30   virtual void JBig2_Warn(const FX_CHAR* format, ...) {}
31
32   virtual void JBig2_Log(const FX_CHAR* format, ...) {}
33 };
34 #endif