fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / source / parser_i / inc / s2_luidl / pe_enum2.hxx
blobb7376551a50b55c79b91893935d54afa494a0a2c
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_PE_ENUM2_HXX
21 #define ADC_UIDL_PE_ENUM2_HXX
23 #include <s2_luidl/parsenv2.hxx>
24 #include <s2_luidl/pestate.hxx>
27 namespace csi
29 namespace uidl
32 class PE_Value;
34 class PE_Enum : public UnoIDL_PE,
35 public ParseEnvState
37 public:
38 PE_Enum();
39 virtual void EstablishContacts(
40 UnoIDL_PE * io_pParentPE,
41 ary::Repository & io_rRepository,
42 TokenProcessing_Result &
43 o_rResult );
44 ~PE_Enum();
46 virtual void ProcessToken(
47 const Token & i_rToken );
49 virtual void Process_Identifier(
50 const TokIdentifier &
51 i_rToken );
52 virtual void Process_Punctuation(
53 const TokPunctuation &
54 i_rToken );
56 private:
57 enum E_State
59 e_none,
60 expect_name,
61 expect_curl_bracket_open,
62 expect_value,
63 expect_finish,
64 e_STATES_MAX
66 enum E_TokenType
68 tt_identifier,
69 tt_punctuation,
70 tt_MAX
72 typedef void (PE_Enum::*F_TOK)(const char *);
75 void CallHandler(
76 const char * i_sTokenText,
77 E_TokenType i_eTokenType );
79 void On_expect_name_Identifier(const char * i_sText);
80 void On_expect_curl_bracket_open_Punctuation(const char * i_sText);
81 void On_expect_value_Punctuation(const char * i_sText);
82 void On_expect_value_Identifier(const char * i_sText);
83 void On_expect_finish_Punctuation(const char * i_sText);
84 void On_Default(const char * );
86 void EmptySingleValueData();
87 void CreateSingleValue();
89 virtual void InitData();
90 virtual void ReceiveData();
91 virtual void TransferData();
92 virtual UnoIDL_PE & MyPE();
94 // DATA
95 static F_TOK aDispatcher[e_STATES_MAX][tt_MAX];
97 E_State eState;
99 String sData_Name;
100 ary::idl::Ce_id nDataId;
102 Dyn<PE_Value> pPE_Value;
103 String sName;
104 String sAssignment;
109 } // namespace uidl
110 } // namespace csi
113 #endif
115 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */