merge the formfield patch from ooo-build
[ooovba.git] / autodoc / source / parser / cpp / cx_c_std.hxx
blob2cecec0406b297825e057ca79c18f671e5561697
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_c_std.hxx,v $
10 * $Revision: 1.3 $
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_CPP_CX_C_STD_HXX
32 #define ADC_CPP_CX_C_STD_HXX
34 // USED SERVICES
35 // BASE CLASSES
36 #include <tokens/tkpcontx.hxx>
37 #include "cx_base.hxx"
38 // COMPONENTS
39 #include <tokens/tkpstama.hxx>
40 // PARAMETERS
44 namespace cpp {
46 class Context_Comment;
48 /**
50 class Context_CppStd : public Cx_Base,
51 private StateMachineContext
53 public:
54 // LIFECYCLE
55 Context_CppStd(
56 DYN autodoc::TkpDocuContext &
57 let_drContext_Docu );
58 ~Context_CppStd();
59 // OPERATIONS
60 virtual void ReadCharChain(
61 CharacterSource & io_rText );
62 virtual void AssignDealer(
63 Distributor & o_rDealer );
64 private:
65 // SERVICE FUNCTIONS
66 void PerformStatusFunction(
67 uintt i_nStatusSignal,
68 StmArrayStatus::F_CRTOK
69 i_fTokenCreateFunction,
70 CharacterSource & io_rText );
71 void SetupStateMachine();
73 // DATA
74 StateMachine aStateMachine;
76 // Contexts
77 Dyn<autodoc::TkpDocuContext>
78 pDocuContext;
80 Dyn<Context_Comment>
81 pContext_Comment;
82 Dyn<Cx_Base> pContext_Preprocessor;
83 Dyn<Cx_Base> pContext_ConstString;
84 Dyn<Cx_Base> pContext_ConstChar;
85 Dyn<Cx_Base> pContext_ConstNumeric;
86 Dyn<Cx_Base> pContext_UnblockMacro;
91 } // namespace cpp
94 #endif