Update ooo320-m1
[ooovba.git] / autodoc / source / parser_i / inc / s2_dsapi / cx_dsapi.hxx
blobb857058ab3b077b4c2b84cd9e96158754511caa4
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: cx_dsapi.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef ADC_CX_DSAPI_HXX
32 #define ADC_CX_DSAPI_HXX
34 // USED SERVICES
35 // BASE CLASSES
36 #include <tokens/tkpcont2.hxx>
37 // COMPONENTS
38 #include <cosv/tpl/dyn.hxx>
39 #include <tokens/tkpstam2.hxx>
40 // PARAMETERS
43 namespace csi
45 namespace dsapi
48 class Token_Receiver;
49 class Token;
51 class Cx_EoHtml;
52 class Cx_EoXmlConst;
53 class Cx_EoXmlLink_BeginTag;
54 class Cx_EoXmlLink_EndTag;
55 class Cx_EoXmlFormat_BeginTag;
56 class Cx_EoXmlFormat_EndTag;
57 class Cx_CheckStar;
59 /**
60 @descr
62 class Context_Docu : public TkpDocuContext,
63 private StateMachineContext
65 public:
66 // LIFECYCLE
67 Context_Docu(
68 Token_Receiver & o_rReceiver );
69 virtual void SetParentContext(
70 TkpContext & io_rParentContext,
71 const char * i_sMultiLineEndToken );
73 ~Context_Docu();
74 // OPERATIONS
75 virtual void ReadCharChain(
76 CharacterSource & io_rText );
78 virtual bool PassNewToken();
79 virtual void SetMode_IsMultiLine(
80 bool i_bTrue );
82 // INQUIRY
83 virtual TkpContext &
84 FollowUpContext();
85 private:
86 // SERVICE FUNCTIONS
87 virtual void PerformStatusFunction(
88 uintt i_nStatusSignal,
89 UINT16 i_nTokenId,
90 CharacterSource & io_rText );
92 void SetupStateMachine();
94 // DATA
95 StateMachin2 aStateMachine;
96 Token_Receiver * pReceiver;
98 // Contexts
99 TkpContext * pParentContext;
100 String sMultiLineEndToken;
102 Dyn<Cx_EoHtml> pCx_EoHtml;
103 Dyn<Cx_EoXmlConst> pCx_EoXmlConst;
104 Dyn<Cx_EoXmlLink_BeginTag>
105 pCx_EoXmlLink_BeginTag;
106 Dyn<Cx_EoXmlLink_EndTag>
107 pCx_EoXmlLink_EndTag;
108 Dyn<Cx_EoXmlFormat_BeginTag>
109 pCx_EoXmlFormat_BeginTag;
110 Dyn<Cx_EoXmlFormat_EndTag>
111 pCx_EoXmlFormat_EndTag;
112 Dyn<Cx_CheckStar> pCx_CheckStar;
114 // Temporary data, used during ReadCharChain()
115 Dyn<Token> pNewToken;
116 ::TkpContext * pFollowUpContext;
117 bool bIsMultiline;
121 } // namespace dsapi
122 } // namespace csi
125 #endif