LCOV - code coverage report
Current view: top level - usr/local/src/libreoffice/writerfilter/source/rtftok - rtflistener.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 2 2 100.0 %
Date: 2013-07-09 Functions: 2 3 66.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  */
       9             : 
      10             : #ifndef _RTFLISTENER_HXX_
      11             : #define _RTFLISTENER_HXX_
      12             : 
      13             : #include <rtfcontrolwords.hxx>
      14             : 
      15             : namespace writerfilter {
      16             :     namespace rtftok {
      17             :         enum RTFInternalState
      18             :         {
      19             :             INTERNAL_NORMAL,
      20             :             INTERNAL_BIN,
      21             :             INTERNAL_HEX
      22             :         };
      23             : 
      24             :         // Note that this is not a 1:1 mapping between destination control
      25             :         // words, e.g. RTF_PICT gets mapped to DESTINATION_PICT or
      26             :         // DESTINATION_SHAPEPROPERTYVALUEPICT, etc.
      27             :         enum RTFDestinationState
      28             :         {
      29             :             DESTINATION_NORMAL,
      30             :             DESTINATION_SKIP,
      31             :             DESTINATION_FONTTABLE,
      32             :             DESTINATION_FONTENTRY,
      33             :             DESTINATION_COLORTABLE,
      34             :             DESTINATION_STYLESHEET,
      35             :             DESTINATION_STYLEENTRY,
      36             :             DESTINATION_FIELD,
      37             :             DESTINATION_FIELDINSTRUCTION,
      38             :             DESTINATION_FIELDRESULT,
      39             :             DESTINATION_LISTTABLE,
      40             :             DESTINATION_LISTPICTURE,
      41             :             DESTINATION_LISTENTRY,
      42             :             DESTINATION_LISTOVERRIDETABLE,
      43             :             DESTINATION_LISTOVERRIDEENTRY,
      44             :             DESTINATION_LISTLEVEL,
      45             :             DESTINATION_LEVELTEXT,
      46             :             DESTINATION_LEVELNUMBERS,
      47             :             DESTINATION_SHPPICT,
      48             :             DESTINATION_PICT,
      49             :             DESTINATION_PICPROP,
      50             :             DESTINATION_SHAPEPROPERTY,
      51             :             DESTINATION_SHAPEPROPERTYNAME,
      52             :             DESTINATION_SHAPEPROPERTYVALUE,
      53             :             DESTINATION_SHAPE,
      54             :             DESTINATION_SHAPEINSTRUCTION,
      55             :             DESTINATION_SHAPEPROPERTYVALUEPICT,
      56             :             DESTINATION_NESTEDTABLEPROPERTIES,
      57             :             DESTINATION_FOOTNOTE,
      58             :             DESTINATION_BOOKMARKSTART,
      59             :             DESTINATION_BOOKMARKEND,
      60             :             DESTINATION_REVISIONTABLE,
      61             :             DESTINATION_REVISIONENTRY,
      62             :             DESTINATION_SHAPETEXT,
      63             :             DESTINATION_FORMFIELD,
      64             :             DESTINATION_FORMFIELDNAME,
      65             :             DESTINATION_FORMFIELDLIST,
      66             :             DESTINATION_DATAFIELD,
      67             :             DESTINATION_INFO,
      68             :             DESTINATION_CREATIONTIME,
      69             :             DESTINATION_REVISIONTIME,
      70             :             DESTINATION_PRINTTIME,
      71             :             DESTINATION_AUTHOR,
      72             :             DESTINATION_KEYWORDS,
      73             :             DESTINATION_OPERATOR,
      74             :             DESTINATION_COMPANY,
      75             :             DESTINATION_COMMENT,
      76             :             DESTINATION_OBJECT,
      77             :             DESTINATION_OBJDATA,
      78             :             DESTINATION_RESULT,
      79             :             DESTINATION_ANNOTATIONDATE,
      80             :             DESTINATION_ANNOTATIONAUTHOR,
      81             :             DESTINATION_FALT,
      82             :             DESTINATION_FLYMAINCONTENT,
      83             :             DESTINATION_DRAWINGOBJECT,
      84             :             DESTINATION_PARAGRAPHNUMBERING,
      85             :             DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE,
      86             :             DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER,
      87             :             DESTINATION_TITLE,
      88             :             DESTINATION_SUBJECT,
      89             :             DESTINATION_DOCCOMM,
      90             :             DESTINATION_ATNID,
      91             :             DESTINATION_MOMATH,
      92             :             DESTINATION_MR,
      93             :             DESTINATION_MF,
      94             :             DESTINATION_MFPR,
      95             :             DESTINATION_MCTRLPR,
      96             :             DESTINATION_MNUM,
      97             :             DESTINATION_MDEN,
      98             :             DESTINATION_MACC,
      99             :             DESTINATION_MACCPR,
     100             :             DESTINATION_MCHR,
     101             :             DESTINATION_MPOS,
     102             :             DESTINATION_MVERTJC,
     103             :             DESTINATION_MSTRIKEH,
     104             :             DESTINATION_MDEGHIDE,
     105             :             DESTINATION_ME,
     106             :             DESTINATION_MBAR,
     107             :             DESTINATION_MBARPR,
     108             :             DESTINATION_MD,
     109             :             DESTINATION_MDPR,
     110             :             DESTINATION_MBEGCHR,
     111             :             DESTINATION_MSEPCHR,
     112             :             DESTINATION_MENDCHR,
     113             :             DESTINATION_MFUNC,
     114             :             DESTINATION_MFUNCPR,
     115             :             DESTINATION_MFNAME,
     116             :             DESTINATION_MLIMLOW,
     117             :             DESTINATION_MLIMLOWPR,
     118             :             DESTINATION_MLIM,
     119             :             DESTINATION_MM,
     120             :             DESTINATION_MMPR,
     121             :             DESTINATION_MMR,
     122             :             DESTINATION_MNARY,
     123             :             DESTINATION_MNARYPR,
     124             :             DESTINATION_MSUB,
     125             :             DESTINATION_MSUP,
     126             :             DESTINATION_MSUBHIDE,
     127             :             DESTINATION_MSUPHIDE,
     128             :             DESTINATION_MLIMUPP,
     129             :             DESTINATION_MLIMUPPPR,
     130             :             DESTINATION_MGROUPCHR,
     131             :             DESTINATION_MGROUPCHRPR,
     132             :             DESTINATION_MBORDERBOX,
     133             :             DESTINATION_MBORDERBOXPR,
     134             :             DESTINATION_MRAD,
     135             :             DESTINATION_MRADPR,
     136             :             DESTINATION_MDEG,
     137             :             DESTINATION_MSSUB,
     138             :             DESTINATION_MSSUBPR,
     139             :             DESTINATION_MSSUP,
     140             :             DESTINATION_MSSUPPR,
     141             :             DESTINATION_MSSUBSUP,
     142             :             DESTINATION_MSSUBSUPPR,
     143             :             DESTINATION_MSPRE,
     144             :             DESTINATION_MSPREPR,
     145             :             DESTINATION_MTYPE,
     146             :             DESTINATION_MGROW,
     147             :             DESTINATION_MBOX,
     148             :             DESTINATION_MEQARR,
     149             :             DESTINATION_UPR,
     150             :             DESTINATION_LFOLEVEL,
     151             :             DESTINATION_BACKGROUND,
     152             :             DESTINATION_SHAPEGROUP,
     153             :         };
     154             : 
     155             :         enum RTFErrors
     156             :         {
     157             :             ERROR_OK,
     158             :             ERROR_GROUP_UNDER,
     159             :             ERROR_GROUP_OVER,
     160             :             ERROR_EOF,
     161             :             ERROR_HEX_INVALID,
     162             :             ERROR_CHAR_OVER
     163             :         };
     164             : 
     165             :         /**
     166             :          * RTFTokenizer needs a class implementing this this interface. While
     167             :          * RTFTokenizer separates control words (and their arguments) from
     168             :          * text, the class implementing this interface is expected to map the
     169             :          * raw RTF tokens to dmapper tokens.
     170             :          */
     171         207 :         class RTFListener
     172             :         {
     173             :             public:
     174         207 :                 virtual ~RTFListener() { }
     175             :                 // Dispatching of control words and characters.
     176             :                 virtual int dispatchDestination(RTFKeyword nKeyword) = 0;
     177             :                 virtual int dispatchFlag(RTFKeyword nKeyword) = 0;
     178             :                 virtual int dispatchSymbol(RTFKeyword nKeyword) = 0;
     179             :                 virtual int dispatchToggle(RTFKeyword nKeyword, bool bParam, int nParam) = 0;
     180             :                 virtual int dispatchValue(RTFKeyword nKeyword, int nParam) = 0;
     181             :                 virtual int resolveChars(char ch) = 0;
     182             : 
     183             :                 // State handling.
     184             :                 virtual int pushState() = 0;
     185             :                 virtual int popState() = 0;
     186             : 
     187             :                 virtual RTFDestinationState getDestinationState() = 0;
     188             :                 virtual void setDestinationState(RTFDestinationState nDestinationState) = 0;
     189             :                 virtual RTFInternalState getInternalState() = 0;
     190             :                 virtual void setInternalState(RTFInternalState nInternalState) = 0;
     191             :                 virtual bool getSkipUnknown() = 0;
     192             :                 virtual void setSkipUnknown(bool bSkipUnknown) = 0;
     193             : 
     194             :                 // Substream handling.
     195             :                 virtual void finishSubstream() = 0;
     196             :                 virtual bool isSubstream() const = 0;
     197             :         };
     198             :     } // namespace rtftok
     199             : } // namespace writerfilter
     200             : 
     201             : #endif // _RTFLISTENER_HXX_
     202             : 
     203             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10