1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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>
34 class PE_Enum
: public UnoIDL_PE
,
39 virtual void EstablishContacts(
40 UnoIDL_PE
* io_pParentPE
,
41 ary::Repository
& io_rRepository
,
42 TokenProcessing_Result
&
46 virtual void ProcessToken(
47 const Token
& i_rToken
);
49 virtual void Process_Identifier(
52 virtual void Process_Punctuation(
53 const TokPunctuation
&
61 expect_curl_bracket_open
,
72 typedef void (PE_Enum::*F_TOK
)(const char *);
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();
95 static F_TOK aDispatcher
[e_STATES_MAX
][tt_MAX
];
100 ary::idl::Ce_id nDataId
;
102 Dyn
<PE_Value
> pPE_Value
;
115 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */