eaa81cc2f0
we may want to use syntax highlighter class from svtools later, which is not available for l10ntools Change-Id: I5a06b77cb6935e3ef68015fb608aa26ac7c53fac
104 lines
3.3 KiB
C++
104 lines
3.3 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
|
|
#ifndef HELPLINKER_HXX
|
|
#define HELPLINKER_HXX
|
|
|
|
#include <helpcompiler/dllapi.h>
|
|
#include <libxslt/transform.h>
|
|
|
|
#ifdef AIX
|
|
# undef _THREAD_SAFE
|
|
#endif
|
|
|
|
#define DBHELP_ONLY
|
|
|
|
class L10N_DLLPUBLIC IndexerPreProcessor
|
|
{
|
|
private:
|
|
std::string m_aModuleName;
|
|
fs::path m_fsIndexBaseDir;
|
|
fs::path m_fsCaptionFilesDirName;
|
|
fs::path m_fsContentFilesDirName;
|
|
|
|
xsltStylesheetPtr m_xsltStylesheetPtrCaption;
|
|
xsltStylesheetPtr m_xsltStylesheetPtrContent;
|
|
|
|
public:
|
|
IndexerPreProcessor( const std::string& aModuleName, const fs::path& fsIndexBaseDir,
|
|
const fs::path& idxCaptionStylesheet, const fs::path& idxContentStylesheet );
|
|
~IndexerPreProcessor();
|
|
|
|
void processDocument( xmlDocPtr doc, const std::string& EncodedDocPath );
|
|
};
|
|
|
|
class L10N_DLLPUBLIC HelpLinker
|
|
{
|
|
public:
|
|
void main(std::vector<std::string> &args,
|
|
std::string* pExtensionPath = NULL,
|
|
std::string* pDestination = NULL,
|
|
const rtl::OUString* pOfficeHelpPath = NULL )
|
|
|
|
throw( HelpProcessingException );
|
|
|
|
HelpLinker()
|
|
: m_pIndexerPreProcessor(NULL)
|
|
{}
|
|
~HelpLinker()
|
|
{ delete m_pIndexerPreProcessor; }
|
|
|
|
private:
|
|
Stringtable additionalFiles;
|
|
HashSet helpFiles;
|
|
fs::path sourceRoot;
|
|
fs::path embeddStylesheet;
|
|
fs::path idxCaptionStylesheet;
|
|
fs::path idxContentStylesheet;
|
|
fs::path zipdir;
|
|
fs::path outputFile;
|
|
std::string extsource;
|
|
std::string extdestination;
|
|
std::string module;
|
|
std::string lang;
|
|
std::string extensionPath;
|
|
std::string extensionDestination;
|
|
bool bExtensionMode;
|
|
fs::path indexDirName;
|
|
fs::path indexDirParentName;
|
|
IndexerPreProcessor* m_pIndexerPreProcessor;
|
|
void initIndexerPreProcessor();
|
|
void link() throw( HelpProcessingException );
|
|
void addBookmark( DB* dbBase, FILE* pFile_DBHelp, std::string thishid,
|
|
const std::string& fileB, const std::string& anchorB,
|
|
const std::string& jarfileB, const std::string& titleB );
|
|
};
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|