Kaydet (Commit) b7416374 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

lok: getPartHash should be at the end, it is a new API call.

Also add it to the init.cxx so that it is actually used.

Change-Id: I255411158d0822718116ac05aad1ee925a9a7a9a
üst 74e9456c
......@@ -367,6 +367,7 @@ static unsigned char* doc_renderFont(LibreOfficeKitDocument* pThis,
const char *pFontName,
int* pFontWidth,
int* pFontHeight);
static char* doc_getPartHash(LibreOfficeKitDocument* pThis, int nPart);
LibLODocument_Impl::LibLODocument_Impl(const uno::Reference <css::lang::XComponent> &xComponent)
: mxComponent(xComponent)
......@@ -388,7 +389,6 @@ LibLODocument_Impl::LibLODocument_Impl(const uno::Reference <css::lang::XCompone
m_pDocumentClass->setPart = doc_setPart;
m_pDocumentClass->getPartName = doc_getPartName;
m_pDocumentClass->setPartMode = doc_setPartMode;
m_pDocumentClass->renderFont = doc_renderFont;
m_pDocumentClass->paintTile = doc_paintTile;
m_pDocumentClass->getTileMode = doc_getTileMode;
m_pDocumentClass->getDocumentSize = doc_getDocumentSize;
......@@ -412,6 +412,9 @@ LibLODocument_Impl::LibLODocument_Impl(const uno::Reference <css::lang::XCompone
m_pDocumentClass->getView = doc_getView;
m_pDocumentClass->getViews = doc_getViews;
m_pDocumentClass->renderFont = doc_renderFont;
m_pDocumentClass->getPartHash = doc_getPartHash;
gDocumentClass = m_pDocumentClass;
}
pClass = m_pDocumentClass.get();
......@@ -905,6 +908,23 @@ static char* doc_getPartName(LibreOfficeKitDocument* pThis, int nPart)
}
static char* doc_getPartHash(LibreOfficeKitDocument* pThis, int nPart)
{
ITiledRenderable* pDoc = getTiledRenderable(pThis);
if (!pDoc)
{
gImpl->maLastExceptionMsg = "Document doesn't support tiled rendering";
return nullptr;
}
OUString sHash = pDoc->getPartHash(nPart);
OString aString = OUStringToOString(sHash, RTL_TEXTENCODING_UTF8);
char* pMemory = static_cast<char*>(malloc(aString.getLength() + 1));
strcpy(pMemory, aString.getStr());
return pMemory;
}
static void doc_setPartMode(LibreOfficeKitDocument* pThis,
int nPartMode)
{
......
......@@ -118,10 +118,6 @@ struct _LibreOfficeKitDocumentClass
char* (*getPartName) (LibreOfficeKitDocument* pThis,
int nPart);
/// @see lok::Document::getPartHash().
char* (*getPartHash) (LibreOfficeKitDocument* pThis,
int nPart);
/// @see lok::Document::setPartMode().
void (*setPartMode) (LibreOfficeKitDocument* pThis,
int nMode);
......@@ -228,6 +224,10 @@ struct _LibreOfficeKitDocumentClass
const char* pFontName,
int* pFontWidth,
int* pFontHeight);
/// @see lok::Document::getPartHash().
char* (*getPartHash) (LibreOfficeKitDocument* pThis,
int nPart);
#endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment