xref: /aoo4110/main/autodoc/inc/autodoc/parsing.hxx (revision b1cdbd2c)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef AUTODOC_PARSING_HXX
25 #define AUTODOC_PARSING_HXX
26 
27 
28 
29 namespace autodoc
30 {
31 
32 class CodeParser_Ifc;
33 class DocumentationParser_Ifc;
34 class FileCollector_Ifc;
35 
36 
37 /** Interface for parsing code of a programming language and
38     delivering the information into an Autodoc Repository.
39 **/
40 class ParseToolsFactory_Ifc
41 {
42   public:
~ParseToolsFactory_Ifc()43 	virtual				~ParseToolsFactory_Ifc() {}
44     static ParseToolsFactory_Ifc &
45                         GetIt_();
46 
47     virtual DYN autodoc::CodeParser_Ifc *
48                         Create_Parser_Cplusplus() const = 0;
49 
50 //  virtual DYN autodoc::CodeParser_Ifc *
51 //                      CreateParser_UnoIDL() const = 0;
52 //  virtual DYN autodoc::CodeParser_Ifc *
53 //                      CreateParser_Java() const = 0;
54 //  virtual DYN autodoc::CodeParser_Ifc *
55 //                      CreateParser_StoredProcedures() const = 0;
56 
57     virtual DYN autodoc::DocumentationParser_Ifc *
58                         Create_DocuParser_AutodocStyle() const = 0;
59 
60 //  virtual DYN autodoc::DocumentationParser_Ifc *
61 //                      CreateDocuParser_StarOfficeAPIStyle() const = 0;
62 
63     virtual DYN autodoc::FileCollector_Ifc *
64                         Create_FileCollector(
65                             uintt               i_nEstimatedNrOfFiles ) const = 0;  /// Should be somewhat larger than the maximal estimated number of files.
66 };
67 
68 
69 } // namespace autodoc
70 
71 
72 
73 #endif
74 
75