Update ooo320-m1
[ooovba.git] / autodoc / source / parser / inc / adoc / cx_a_std.hxx
blobb195a71fde2d6a5ca6d57f5db22508e861592ed5
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_a_std.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_ADOC_CX_A_STD_HXX
32 #define ADC_ADOC_CX_A_STD_HXX
34 // USED SERVICES
35 // BASE CLASSES
36 #include <tokens/tkpcontx.hxx>
37 // COMPONENTS
38 #include <tokens/tkpstama.hxx>
39 // PARAMETERS
41 class TextToken;
44 namespace adoc {
46 class Cx_LineStart;
47 class Cx_CheckStar;
48 class Cx_AtTagCompletion;
51 /**
52 @descr
54 class Context_AdocStd : public autodoc::TkpDocuContext,
55 private StateMachineContext
57 public:
58 // LIFECYCLE
59 Context_AdocStd();
60 virtual void SetParentContext(
61 TkpContext & io_rParentContext,
62 const char * i_sMultiLineEndToken );
63 ~Context_AdocStd();
65 // OPERATIONS
66 virtual void AssignDealer(
67 TokenDealer & o_rDealer );
69 virtual void ReadCharChain(
70 CharacterSource & io_rText );
71 virtual bool PassNewToken();
72 virtual void SetMode_IsMultiLine(
73 bool i_bTrue );
74 // INQUIRY
75 virtual TkpContext &
76 FollowUpContext();
77 private:
78 // SERVICE FUNCTIONS
79 virtual void PerformStatusFunction(
80 uintt i_nStatusSignal,
81 F_CRTOK i_fTokenCreateFunction,
82 CharacterSource & io_rText );
84 void SetupStateMachine();
86 // DATA
87 StateMachine aStateMachine;
88 TokenDealer * pDealer;
90 // Contexts
91 TkpContext * pParentContext;
92 TkpContext * pFollowUpContext;
93 Dyn<Cx_LineStart> pCx_LineStart;
94 Dyn<Cx_CheckStar> pCx_CheckStar;
95 Dyn<Cx_AtTagCompletion>
96 pCx_AtTagCompletion;
98 // Temporary data, used during ReadCharChain()
99 Dyn<TextToken> pNewToken;
100 bool bIsMultiline;
104 } // namespace adoc
107 #endif