Update ooo320-m1
[ooovba.git] / autodoc / source / ary / idl / i_enum.cxx
blobf87c130e6a5fe469b7e56f834bc123d188954884
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: i_enum.cxx,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 #include <precomp.h>
32 #include <ary/idl/i_enum.hxx>
33 #include <ary/idl/ik_enum.hxx>
36 // NOT FULLY DECLARED SERVICES
37 #include <cosv/tpl/processor.hxx>
38 #include <sci_impl.hxx>
39 #include "i2s_calculator.hxx"
42 namespace ary
44 namespace idl
47 Enum::Enum( const String & i_sName,
48 Ce_id i_nOwner )
49 : sName(i_sName),
50 nOwner(i_nOwner),
51 aValues()
55 Enum::~Enum()
59 void
60 Enum::do_Accept( csv::ProcessorIfc & io_processor ) const
62 csv::CheckedCall(io_processor, *this);
65 ClassId
66 Enum::get_AryClass() const
68 return class_id;
71 const String &
72 Enum::inq_LocalName() const
74 return sName;
77 Ce_id
78 Enum::inq_NameRoom() const
80 return nOwner;
83 Ce_id
84 Enum::inq_Owner() const
86 return nOwner;
89 E_SightLevel
90 Enum::inq_SightLevel() const
92 return sl_File;
96 namespace ifc_enum
99 inline const Enum &
100 enum_cast( const CodeEntity & i_ce )
102 csv_assert( i_ce.AryClass() == Enum::class_id );
103 return static_cast< const Enum& >(i_ce);
106 void
107 attr::Get_Values( Dyn_CeIterator & o_result,
108 const CodeEntity & i_ce )
110 o_result = new SCI_Vector<Ce_id>(enum_cast(i_ce).aValues);
114 void
115 xref::Get_SynonymTypedefs( Dyn_CeIterator & o_result,
116 const CodeEntity & i_ce )
118 o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_SynonymTypedefs));
121 void
122 xref::Get_AsReturns( Dyn_CeIterator & o_result,
123 const CodeEntity & i_ce )
125 o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_AsReturns));
128 void
129 xref::Get_AsParameters( Dyn_CeIterator & o_result,
130 const CodeEntity & i_ce )
132 o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_AsParameters));
135 void
136 xref::Get_AsDataTypes( Dyn_CeIterator & o_result,
137 const CodeEntity & i_ce )
139 o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_AsDataTypes));
142 } // namespace ifc_enum
145 } // namespace idl
146 } // namespace ary