xref: /trunk/main/autodoc/source/parser/cpp/cx_c_std.hxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef ADC_CPP_CX_C_STD_HXX
29 #define ADC_CPP_CX_C_STD_HXX
30 
31 // USED SERVICES
32     // BASE CLASSES
33 #include <tokens/tkpcontx.hxx>
34 #include "cx_base.hxx"
35     // COMPONENTS
36 #include <tokens/tkpstama.hxx>
37     // PARAMETERS
38 
39 
40 
41 namespace cpp {
42 
43 class Context_Comment;
44 
45 /**
46 */
47 class Context_CppStd : public Cx_Base,
48                        private StateMachineContext
49 {
50   public:
51     //  LIFECYCLE
52                         Context_CppStd(
53                             DYN autodoc::TkpDocuContext &
54                                                 let_drContext_Docu  );
55                         ~Context_CppStd();
56     //  OPERATIONS
57     virtual void        ReadCharChain(
58                             CharacterSource &   io_rText );
59     virtual void        AssignDealer(
60                             Distributor &       o_rDealer );
61   private:
62     //  SERVICE FUNCTIONS
63     void                PerformStatusFunction(
64                             uintt               i_nStatusSignal,
65                             StmArrayStatus::F_CRTOK
66                                                 i_fTokenCreateFunction,
67                             CharacterSource &   io_rText );
68     void                SetupStateMachine();
69 
70     //  DATA
71     StateMachine        aStateMachine;
72 
73         // Contexts
74     Dyn<autodoc::TkpDocuContext>
75                         pDocuContext;
76 
77     Dyn<Context_Comment>
78                         pContext_Comment;
79     Dyn<Cx_Base>        pContext_Preprocessor;
80     Dyn<Cx_Base>        pContext_ConstString;
81     Dyn<Cx_Base>        pContext_ConstChar;
82     Dyn<Cx_Base>        pContext_ConstNumeric;
83     Dyn<Cx_Base>        pContext_UnblockMacro;
84 };
85 
86 
87 
88 }   // namespace cpp
89 
90 
91 #endif
92 
93