xref: /AOO41X/main/autodoc/inc/autodoc/x_parsing.hxx (revision 1c78a5d6c0093dece4c096ba53051800fbad6e33)
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_X_PARSING_HXX
25 #define AUTODOC_X_PARSING_HXX
26 
27 // USED SERVICES
28 #include <iostream>
29 
30 
31 
32 
33 namespace autodoc
34 {
35 
36 class X_Parser_Ifc
37 {
38   public:
39     // TYPES
40     enum E_Event
41     {
42         x_Any                       = 0,
43         x_InvalidChar,
44         x_UnexpectedToken,
45         x_UnexpectedEOF,
46         x_UnspecifiedSyntaxError
47     };
48 
49     // LIFECYCLE
~X_Parser_Ifc()50     virtual             ~X_Parser_Ifc() {}
51 
52     // INQUIRY
53     virtual E_Event     GetEvent() const = 0;
54     virtual void        GetInfo(
55                             std::ostream &      o_rOutputMedium ) const = 0;
56 };
57 
58 
59 }   // namespace autodoc
60 
61 std::ostream &      operator<<(
62                         std::ostream &      o_rOut,
63                         const autodoc::X_Parser_Ifc &
64                                             i_rException );
65 
66 
67 
68 
69 #endif
70