xref: /AOO41X/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