diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-09-08 13:29:20 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-09-08 13:29:20 +0000 |
commit | 5e758a62f7f50395c98242a58ce55b6cef57b75c (patch) | |
tree | 150e7ec933a286ae152357a22bdae1cd813d78f9 /shell/source/all/ooofilereader | |
parent | ead54767682e175511b3242b74b296c3cc018714 (diff) |
INTEGRATION: CWS desktintgr02 (1.1.2); FILE ADDED
2004/07/29 09:28:26 deuce 1.1.2.1: Issue number: 21110
Submitted by: Gorden Lin {gorden.lin@sun.com}
Reviewed by: Tino Rachui {tino.rachui@sun.com}
Diffstat (limited to 'shell/source/all/ooofilereader')
-rw-r--r-- | shell/source/all/ooofilereader/dummytag.hxx | 97 | ||||
-rw-r--r-- | shell/source/all/ooofilereader/itag.hxx | 91 | ||||
-rw-r--r-- | shell/source/all/ooofilereader/keywordstag.cxx | 98 |
3 files changed, 286 insertions, 0 deletions
diff --git a/shell/source/all/ooofilereader/dummytag.hxx b/shell/source/all/ooofilereader/dummytag.hxx new file mode 100644 index 000000000000..fd4f53a3b3d7 --- /dev/null +++ b/shell/source/all/ooofilereader/dummytag.hxx @@ -0,0 +1,97 @@ +/************************************************************************* + * + * $RCSfile: dummytag.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: hr $ $Date: 2004-09-08 14:29:00 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#ifndef DUMMYTAG_HXX_INCLUDED +#define DUMMYTAG_HXX_INCLUDED + +#ifndef ITAG_HXX_INCLUDED +#include "itag.hxx" +#endif + +/*************************** dummy tag readers ***************************/ + +/** Implements the ITag interface but does + nothing (Null object pattern), may be used for + tags we are not interessted in to avoid if-else + branches. +*/ +class CDummyTag : public ITag +{ + public: + virtual void startTag(){}; + + virtual void endTag(){}; + + virtual void addCharacters(const std::wstring& /*characters*/){}; + + virtual void addAttributes(const XmlTagAttributes_t& /*attributes*/){}; + + virtual std::wstring getTagContent( void ) + { + return EMPTY_STRING; + }; + + virtual ::std::wstring const getTagAttribute( ::std::wstring const & /*attrname*/ ){ return ::std::wstring(EMPTY_STRING); }; +}; + + +#endif
\ No newline at end of file diff --git a/shell/source/all/ooofilereader/itag.hxx b/shell/source/all/ooofilereader/itag.hxx new file mode 100644 index 000000000000..dbe3b4bca054 --- /dev/null +++ b/shell/source/all/ooofilereader/itag.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * $RCSfile: itag.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: hr $ $Date: 2004-09-08 14:29:10 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#ifndef ITAG_HXX_INCLUDED +#define ITAG_HXX_INCLUDED + +#ifndef CONFIG_HXX_INCLUDED +#include "internal/config.hxx" +#endif + +#ifndef TYPES_HXX_INCLUDED +#include "internal/types.hxx" +#endif + +/*************************** interface of tag readers ***************************/ + +/** Interface for a xml tag character builder +*/ +class ITag +{ + public: + virtual ~ITag() {}; + + virtual void startTag() = 0; + virtual void endTag() = 0; + virtual void addCharacters(const std::wstring& characters) = 0; + virtual void addAttributes(const XmlTagAttributes_t& attributes) = 0; + virtual ::std::wstring getTagContent( void ) = 0; + virtual ::std::wstring const getTagAttribute( ::std::wstring const & attrname ) = 0; +}; + +#endif
\ No newline at end of file diff --git a/shell/source/all/ooofilereader/keywordstag.cxx b/shell/source/all/ooofilereader/keywordstag.cxx new file mode 100644 index 000000000000..3be66853349d --- /dev/null +++ b/shell/source/all/ooofilereader/keywordstag.cxx @@ -0,0 +1,98 @@ +/************************************************************************* + * + * $RCSfile: keywordstag.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: hr $ $Date: 2004-09-08 14:29:20 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#ifndef KEYWORDSTAG_HXX_INCLUDED +#include "keywordstag.hxx" +#endif + +/*********************** CKeywordsTag ***********************/ + +void CKeywordsTag::startTag() +{ + m_sCurrentKeyword.clear(); +} + +void CKeywordsTag::endTag() +{ + m_slKeywords.push_back(m_sCurrentKeyword); +} + +void CKeywordsTag::addCharacters(const std::wstring& characters) +{ + m_sCurrentKeyword += characters; +} + +void CKeywordsTag::addAttributes(const XmlTagAttributes_t& /*attributes*/) +{ + // there are no attributes for keywords +} + +std::wstring CKeywordsTag::getTagContent( ) +{ + StringList_t::const_iterator keywords_Iter= m_slKeywords.begin( ); + StringList_t::const_iterator keywords_Iter_end = m_slKeywords.end( ); + + std::wstring ret_KeyWord_String = ( keywords_Iter != keywords_Iter_end) ? *keywords_Iter++ : L""; + for ( ; keywords_Iter != keywords_Iter_end; ++keywords_Iter) + ret_KeyWord_String += L"," + *keywords_Iter; + return ret_KeyWord_String; +} + |