diff options
author | Nils Fuhrmann <nf@openoffice.org> | 2001-08-23 10:45:30 +0000 |
---|---|---|
committer | Nils Fuhrmann <nf@openoffice.org> | 2001-08-23 10:45:30 +0000 |
commit | 025bbfbdf5de41bd1ed7c0655398622dbcb22024 (patch) | |
tree | a9c833fb47abd3f066118baa15e78b3eb827bbd0 /transex3/inc | |
parent | a7d3fb1498cf9e657c1389516633be0cececb616 (diff) |
Added new merger for ReadMes
Diffstat (limited to 'transex3/inc')
-rw-r--r-- | transex3/inc/tokens.h | 20 | ||||
-rw-r--r-- | transex3/inc/xrmmerge.hxx | 185 |
2 files changed, 203 insertions, 2 deletions
diff --git a/transex3/inc/tokens.h b/transex3/inc/tokens.h index 6e694e745ab1..797225bb31d2 100644 --- a/transex3/inc/tokens.h +++ b/transex3/inc/tokens.h @@ -2,9 +2,9 @@ * * $RCSfile: tokens.h,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: nf $ $Date: 2001-06-26 12:56:08 $ + * last change: $Author: nf $ $Date: 2001-08-23 11:45:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -136,5 +136,21 @@ #define CFG_TOKEN_CONFIGNAME 602 #define CFG_TOKEN_TEMPLATE 603 +/*------------------------------------------------------ */ +/*------------------------------------------------------ */ +/* Tokens for parsing xrm files */ +/*------------------------------------------------------ */ +/*------------------------------------------------------ */ +#define XRM_README_START 501 +#define XRM_README_END 502 +#define XRM_SECTION_START 503 +#define XRM_SECTION_END 504 +#define XRM_PARAGRAPH_START 505 +#define XRM_PARAGRAPH_END 506 +#define XRM_TEXT_START 507 +#define XRM_TEXT_END 508 +#define XRM_LIST_START 509 +#define XRM_LIST_END 510 + #endif diff --git a/transex3/inc/xrmmerge.hxx b/transex3/inc/xrmmerge.hxx new file mode 100644 index 000000000000..f25577b496e2 --- /dev/null +++ b/transex3/inc/xrmmerge.hxx @@ -0,0 +1,185 @@ +/************************************************************************* + * + * $RCSfile: xrmmerge.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: nf $ $Date: 2001-08-23 11:45:29 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +// global includes +#include <tools/string.hxx> + +// +// XRMResParser +// + +class XRMResParser +{ +private: + ByteString sGID; + ByteString sLID; + + BOOL bError; + BOOL bText; + + ByteString sLocalized; + + ByteString sCurrentOpenTag; + ByteString sCurrentCloseTag; + ByteString sCurrentText; + +protected: + ByteString GetAttribute( const ByteString &rToken, const ByteString &rAttribute ); + void Error( const ByteString &rError ); + + virtual void Output( const ByteString& rOutput ); + virtual void WorkOnText( + const ByteString &rOpenTag, + ByteString &rText + ); + virtual void EndOfText( + const ByteString &rOpenTag, + const ByteString &rCloseTag + ); + + ByteString GetGID() { return sGID; } + ByteString GetLID() { return sLID; } + + void ConvertStringToDBFormat( ByteString &rString ); + void ConvertStringToXMLFormat( ByteString &rString ); + +public: + XRMResParser(); + virtual ~XRMResParser(); + + int Execute( int nToken, char * pToken ); + + void SetError( BOOL bErr = TRUE ) { bError = bErr; } + BOOL GetError() { return bError; } +}; + +// +// class XRMResOutputParser +// + +class XRMResOutputParser : public XRMResParser +{ +protected: + SvFileStream *pOutputStream; +public: + XRMResOutputParser ( const ByteString &rOutputFile ); + virtual ~XRMResOutputParser(); +}; + +// +// XRMResExport +// + +class XRMResExport : public XRMResOutputParser +{ +private: + ResData *pResData; + ByteString sPrj; + ByteString sPath; + +protected: + virtual void WorkOnText( + const ByteString &rOpenTag, + ByteString &rText + ); + virtual void EndOfText( + const ByteString &rOpenTag, + const ByteString &rCloseTag + ); + +public: + XRMResExport( + const ByteString &rOutputFile, + const ByteString &rProject, + const ByteString &rFilePath + ); + virtual ~XRMResExport(); +}; + +// +// class XRMResMerge +// + +class XRMResMerge : public XRMResOutputParser +{ +private: + MergeDataFile *pMergeDataFile; + ResData *pResData; + +protected: + virtual void WorkOnText( + const ByteString &rOpenTag, + ByteString &rText + ); + virtual void EndOfText( + const ByteString &rOpenTag, + const ByteString &rCloseTag + ); + virtual void Output( const ByteString& rOutput ); +public: + XRMResMerge( + const ByteString &rMergeSource, + const ByteString &rOutputFile, + BOOL bErrorLog + ); + virtual ~XRMResMerge(); +}; + |