Update ooo320-m1
[ooovba.git] / autodoc / source / parser_i / inc / s2_luidl / pe_attri.hxx
blob02d58fec3df77dbbdde019296d2dfc5b7babaafd
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: pe_attri.hxx,v $
10 * $Revision: 1.7 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef ADC_UIDL_PE_ATTRI_HXX
32 #define ADC_UIDL_PE_ATTRI_HXX
36 // USED SERVICES
37 // BASE CLASSES
39 #include <s2_luidl/parsenv2.hxx>
40 #include <s2_luidl/pestate.hxx>
41 // COMPONENTS
42 #include <ary/idl/i_property.hxx>
43 // PARAMETERS
44 #include <ary/idl/i_gate.hxx>
47 namespace ary
49 namespace idl
51 class Attribute;
55 namespace csi
57 namespace uidl
61 class PE_Variable;
62 class PE_Type;
64 class PE_Attribute : public UnoIDL_PE,
65 public ParseEnvState
67 public:
68 typedef ary::idl::Ce_id Ce_id;
69 typedef ary::idl::Type_id Type_id;
71 PE_Attribute(
72 const Ce_id & i_rCurOwner );
74 virtual void EstablishContacts(
75 UnoIDL_PE * io_pParentPE,
76 ary::Repository &
77 io_rRepository,
78 TokenProcessing_Result &
79 o_rResult );
80 virtual ~PE_Attribute();
82 virtual void ProcessToken(
83 const Token & i_rToken );
85 virtual void Process_Identifier(
86 const TokIdentifier &
87 i_rToken );
88 virtual void Process_Stereotype(
89 const TokStereotype &
90 i_rToken );
91 virtual void Process_MetaType(
92 const TokMetaType & i_rToken );
93 virtual void Process_Punctuation(
94 const TokPunctuation &
95 i_rToken );
96 virtual void Process_Raises();
97 virtual void Process_Default();
99 private:
100 enum E_State
102 e_none,
103 e_start,
104 in_variable,
105 expect_end,
106 in_raise_std, /// before 'get', 'set', ';' or '}'
107 in_get,
108 in_set
111 virtual void InitData();
112 virtual void ReceiveData();
113 virtual void TransferData();
114 virtual UnoIDL_PE & MyPE();
116 // DATA
117 E_State eState;
118 const Ce_id * pCurOwner;
120 Dyn<PE_Variable> pPE_Variable;
121 Dyn<PE_Type> pPE_Exception;
123 // object-data
124 ary::idl::Attribute *
125 pCurAttribute;
126 Type_id nCurParsedType;
127 String sCurParsedName;
128 bool bReadOnly;
129 bool bBound;
133 } // namespace uidl
134 } // namespace csi
137 #endif