From 568aff520b4ca33d851317a4ea88807b4fd2da40 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 19 Jun 2015 14:58:28 -0700 Subject: Fix -Wnon-virtual-dtor warnings on the XFA branch. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1183483003. --- xfa/src/fgas/include/fx_cpg.h | 2 ++ xfa/src/fgas/include/fx_datetime.h | 1 + xfa/src/fgas/include/fx_fnt.h | 8 ++++++++ xfa/src/fgas/include/fx_locale.h | 6 +++++- xfa/src/fgas/include/fx_mem.h | 4 ++++ xfa/src/fgas/include/fx_rbk.h | 1 + xfa/src/fgas/include/fx_sax.h | 2 ++ xfa/src/fgas/include/fx_stm.h | 1 + xfa/src/fgas/include/fx_tbk.h | 3 +++ 9 files changed, 27 insertions(+), 1 deletion(-) (limited to 'xfa/src/fgas') diff --git a/xfa/src/fgas/include/fx_cpg.h b/xfa/src/fgas/include/fx_cpg.h index 0b58727fa3..42953b042b 100644 --- a/xfa/src/fgas/include/fx_cpg.h +++ b/xfa/src/fgas/include/fx_cpg.h @@ -208,10 +208,12 @@ typedef struct _FX_LANG2CPMAP { FX_WORD wLanguage; FX_WORD wCodepage; } FX_LANG2CPMAP; + class IFX_CodePage { public: static IFX_CodePage* Create(FX_WORD wCodePage); + virtual ~IFX_CodePage() {} virtual void Release() = 0; virtual FX_WORD GetCodePageNumber() const = 0; virtual FX_CODESYSTEM GetCodeSystemType() const = 0; diff --git a/xfa/src/fgas/include/fx_datetime.h b/xfa/src/fgas/include/fx_datetime.h index dcaf18398f..b867b369d2 100644 --- a/xfa/src/fgas/include/fx_datetime.h +++ b/xfa/src/fgas/include/fx_datetime.h @@ -290,6 +290,7 @@ public: { m_DateTime = dt.m_DateTime; } + virtual ~CFX_DateTime() {} operator FX_DATETIME * () { return &m_DateTime; diff --git a/xfa/src/fgas/include/fx_fnt.h b/xfa/src/fgas/include/fx_fnt.h index 6b328d9741..9242d9704f 100644 --- a/xfa/src/fgas/include/fx_fnt.h +++ b/xfa/src/fgas/include/fx_fnt.h @@ -37,11 +37,14 @@ class IFX_FontMgr; #define FX_BOUNDINGSHAPE_Square 2 #define FX_BOUNDINGSHAPE_Triangle 3 #define FX_BOUNDINGSHAPE_Diamond 4 + class IFX_FontProvider { public: + virtual ~IFX_FontProvider() {} virtual FX_BOOL GetCharWidth(IFX_Font* pFont, FX_WCHAR wUnicode, int32_t &iWidth, FX_BOOL bCharCode = FALSE) = 0; }; + class IFX_Font { public: @@ -50,6 +53,7 @@ public: static IFX_Font* LoadFont(const FX_WCHAR* pszFileName, IFX_FontMgr *pFontMgr); static IFX_Font* LoadFont(IFX_Stream *pFontStream, IFX_FontMgr *pFontMgr, FX_BOOL bSaveStream = FALSE); static IFX_Font* LoadFont(CFX_Font *pExtFont, IFX_FontMgr *pFontMgr, FX_BOOL bTakeOver = FALSE); + virtual ~IFX_Font() {} virtual void Release() = 0; virtual IFX_Font* Retain() = 0; virtual IFX_Font* Derive(FX_DWORD dwFontStyles, FX_WORD wCodePage = 0) = 0; @@ -112,6 +116,7 @@ class IFX_FontMgr { public: static IFX_FontMgr* Create(FX_LPEnumAllFonts pEnumerator, FX_LPMatchFont pMatcher = NULL, void* pUserData = NULL); + ~virtual ~IFX_FontMgr() {} virtual void Release() = 0; virtual IFX_Font* GetDefFontByCodePage(FX_WORD wCodePage, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByCharset(uint8_t nCharset, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; @@ -129,6 +134,7 @@ public: class IFX_FontMgrDelegate { public: + virtual ~IFX_FontMgrDelegate() {} virtual IFX_Font* GetDefFontByCodePage(IFX_FontMgr* pFontMgr, FX_WORD wCodePage, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByCharset(IFX_FontMgr* pFontMgr, uint8_t nCharset, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByUnicode(IFX_FontMgr* pFontMgr, FX_WCHAR wUnicode, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; @@ -137,6 +143,7 @@ public: class IFX_FontSourceEnum { public: + virtual ~IFX_FontSourceEnum() {} virtual void Release() = 0; virtual FX_POSITION GetStartPosition(void* pUserData = NULL) = 0; virtual IFX_FileAccess* GetNext(FX_POSITION& pos, void* pUserData = NULL) = 0; @@ -146,6 +153,7 @@ class IFX_FontMgr { public: static IFX_FontMgr* Create(IFX_FontSourceEnum* pFontEnum, IFX_FontMgrDelegate* pDelegate = NULL, void* pUserData = NULL); + virtual ~IFX_FontMgr() {} virtual void Release() = 0; virtual IFX_Font* GetDefFontByCodePage(FX_WORD wCodePage, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; virtual IFX_Font* GetDefFontByCharset(uint8_t nCharset, FX_DWORD dwFontStyles, const FX_WCHAR* pszFontFamily = NULL) = 0; diff --git a/xfa/src/fgas/include/fx_locale.h b/xfa/src/fgas/include/fx_locale.h index b377f981e4..025814c7c2 100644 --- a/xfa/src/fgas/include/fx_locale.h +++ b/xfa/src/fgas/include/fx_locale.h @@ -49,14 +49,15 @@ enum FX_DATETIMETYPE { FX_DATETIMETYPE_DateTime, FX_DATETIMETYPE_TimeDate, }; + class IFX_Locale { public: static IFX_Locale* Create(CXML_Element* pLocaleData); + virtual ~IFX_Locale() {} virtual void Release() = 0; - virtual CFX_WideString GetName() = 0; virtual void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, CFX_WideString& wsNumSymbol) const = 0; @@ -70,9 +71,11 @@ public: virtual void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType, CFX_WideString& wsPattern) const = 0; virtual void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType, CFX_WideString& wsPattern) const = 0; }; + class IFX_LocaleMgr { public: + virtual ~IFX_LocaleMgr() {} virtual void Release() = 0; virtual FX_WORD GetDefLocaleID() = 0; virtual IFX_Locale* GetDefLocale() = 0; @@ -88,6 +91,7 @@ class IFX_FormatString public: static IFX_FormatString* Create(IFX_LocaleMgr* pLocaleMgr, FX_BOOL bUseLCID); + virtual ~IFX_FormatString() {} virtual void Release() = 0; virtual void SplitFormatString(const CFX_WideString& wsFormatString, CFX_WideStringArray& wsPatterns) = 0; virtual FX_LOCALECATEGORY GetCategory(const CFX_WideString& wsPattern) = 0; diff --git a/xfa/src/fgas/include/fx_mem.h b/xfa/src/fgas/include/fx_mem.h index c8875e185d..6c0e1faa25 100644 --- a/xfa/src/fgas/include/fx_mem.h +++ b/xfa/src/fgas/include/fx_mem.h @@ -14,9 +14,11 @@ enum FX_ALLOCTYPE { FX_ALLOCTYPE_Fixed , FX_ALLOCTYPE_Dynamic , }; + class IFX_MEMAllocator { public: + virtual ~IFX_MEMAllocator() {} virtual void Release() = 0; virtual void* Alloc(size_t size) = 0; virtual void Free(void *pBlock) = 0; @@ -25,10 +27,12 @@ public: virtual size_t SetDefChunkSize(size_t size) = 0; virtual size_t GetCurrentDataSize() const = 0; }; + IFX_MEMAllocator* FX_CreateAllocator(FX_ALLOCTYPE eType, size_t chunkSize, size_t blockSize); class CFX_Target { public: + virtual ~CFX_Target() {} void* operator new(size_t size) { return FX_Alloc(uint8_t, size); diff --git a/xfa/src/fgas/include/fx_rbk.h b/xfa/src/fgas/include/fx_rbk.h index 282b6e37db..a8544b047d 100644 --- a/xfa/src/fgas/include/fx_rbk.h +++ b/xfa/src/fgas/include/fx_rbk.h @@ -200,6 +200,7 @@ class IFX_RTFBreak { public: static IFX_RTFBreak* Create(FX_DWORD dwPolicies); + virtual ~IFX_RTFBreak() {} virtual void Release() = 0; virtual void SetLineWidth(FX_FLOAT fLineStart, FX_FLOAT fLineEnd) = 0; virtual void SetLinePos(FX_FLOAT fLinePos) = 0; diff --git a/xfa/src/fgas/include/fx_sax.h b/xfa/src/fgas/include/fx_sax.h index 9d959e2321..12a7d13435 100644 --- a/xfa/src/fgas/include/fx_sax.h +++ b/xfa/src/fgas/include/fx_sax.h @@ -27,6 +27,7 @@ enum FX_SAXNODE { class IFX_SAXReaderHandler { public: + virtual ~IFX_SAXReaderHandler() {} virtual void* OnTagEnter(const CFX_ByteStringC& bsTagName, FX_SAXNODE eType, FX_DWORD dwStartPos) = 0; virtual void OnTagAttribute(void* pTag, const CFX_ByteStringC& bsAttri, const CFX_ByteStringC& bsValue) = 0; virtual void OnTagBreak(void* pTag) = 0; @@ -38,6 +39,7 @@ public: class IFX_SAXReader { public: + virtual ~IFX_SAXReader() {} virtual void Release() = 0; virtual int32_t StartParse(IFX_FileRead *pFile, FX_DWORD dwStart = 0, FX_DWORD dwLen = -1, FX_DWORD dwParseMode = 0) = 0; virtual int32_t ContinueParse(IFX_Pause *pPause = NULL) = 0; diff --git a/xfa/src/fgas/include/fx_stm.h b/xfa/src/fgas/include/fx_stm.h index b10b06a830..9b284329b5 100644 --- a/xfa/src/fgas/include/fx_stm.h +++ b/xfa/src/fgas/include/fx_stm.h @@ -37,6 +37,7 @@ public: static IFX_Stream* CreateStream(uint8_t* pData, int32_t length, FX_DWORD dwAccess); static IFX_Stream* CreateStream(IFX_BufferRead *pBufferRead, FX_DWORD dwAccess, int32_t iFileSize = -1, FX_BOOL bReleaseBufferRead = TRUE); static IFX_Stream* CreateTextStream(IFX_Stream *pBaseStream, FX_BOOL bDeleteOnRelease); + virtual ~IFX_Stream() {} virtual void Release() = 0; virtual IFX_Stream* Retain() = 0; virtual FX_DWORD GetAccessModes() const = 0; diff --git a/xfa/src/fgas/include/fx_tbk.h b/xfa/src/fgas/include/fx_tbk.h index e48e2eedf4..2eaca3922c 100644 --- a/xfa/src/fgas/include/fx_tbk.h +++ b/xfa/src/fgas/include/fx_tbk.h @@ -57,9 +57,11 @@ class IFX_TxtBreak; #define FX_TXTLINEALIGNMENT_LowerMask 0x03 #define FX_TXTLINEALIGNMENT_HigherMask 0x0C #define FX_TXTBREAK_MinimumTabWidth 160000 + class IFX_TxtAccess { public: + virtual ~IFX_TxtAccess() {} virtual FX_WCHAR GetChar(void* pIdentity, int32_t index) const = 0; virtual int32_t GetWidth(void* pIdentity, int32_t index) const = 0; }; @@ -178,6 +180,7 @@ class IFX_TxtBreak { public: static IFX_TxtBreak* Create(FX_DWORD dwPolicies); + virtual ~IFX_TxtBreak() {} virtual void Release() = 0; virtual void SetLineWidth(FX_FLOAT fLineWidth) = 0; virtual void SetLinePos(FX_FLOAT fLinePos) = 0; -- cgit v1.2.3