fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / source / parser_i / inc / s2_luidl / tk_punct.hxx
blobb6c4d7edbed4f4b43128a86a68a24c691374fd4e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef ADC_UIDL_TK_PUNCT_HXX
21 #define ADC_UIDL_TK_PUNCT_HXX
23 // USED SERVICES
24 // BASE CLASSES
25 #include <s2_luidl/uidl_tok.hxx>
26 // COMPONENTS
27 #include <luxenum.hxx>
28 // PARAMETERS
31 namespace csi
33 namespace uidl
37 class TokPunctuation : public Token
39 public:
40 // TYPES
41 enum E_TokenId
43 e_none = 0,
44 BracketOpen = 1, // (
45 BracketClose = 2, // )
46 ArrayBracketOpen = 3, // [
47 ArrayBracketClose = 4, // ]
48 CurledBracketOpen = 5, // {
49 CurledBracketClose = 6, // }
50 Semicolon = 7, // ;
51 Colon = 8, // :
52 DoubleColon = 9, // ::
53 Comma = 10, // ,
54 Minus = 11, // -
55 Fullstop = 12, // .
56 Lesser = 13, // <
57 Greater = 14 // >
59 typedef lux::Enum<E_TokenId> EV_TokenId;
62 TokPunctuation(
63 EV_TokenId i_eTag )
64 : eTag(i_eTag) {}
65 // OPERATIONS
66 virtual void Trigger(
67 TokenInterpreter & io_rInterpreter ) const;
68 // INQUIRY
69 virtual const char *
70 Text() const;
71 EV_TokenId Id() const { return eTag; }
74 private:
75 // DATA
76 EV_TokenId eTag;
79 class Tok_EOL : public Token
81 // OPERATIONS
82 virtual void Trigger(
83 TokenInterpreter & io_rInterpreter ) const;
84 // INQUIRY
85 virtual const char *
86 Text() const;
89 class Tok_EOF : public Token
91 // OPERATIONS
92 virtual void Trigger(
93 TokenInterpreter & io_rInterpreter ) const;
94 // INQUIRY
95 virtual const char *
96 Text() const;
100 } // namespace uidl
101 } // namespace csi
103 #endif
106 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */