merge the formfield patch from ooo-build
[ooovba.git] / autodoc / source / ary / idl / i_attribute.cxx
blob2f65d7c677ddebdfd5155d4c56a78d87b7133c19
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_attribute.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_attribute.hxx>
33 #include <ary/idl/ik_attribute.hxx>
36 // NOT FULLY DECLARED SERVICES
37 #include <cosv/tpl/processor.hxx>
38 #include <ary/getncast.hxx>
39 #include <sci_impl.hxx>
42 namespace ary
44 namespace idl
48 Attribute::Attribute( const String & i_sName,
49 Ce_id i_nService,
50 Ce_id i_nModule,
51 Type_id i_nType,
52 bool i_bReadonly,
53 bool i_bBound )
54 : sName(i_sName),
55 nOwner(i_nService),
56 nNameRoom(i_nModule),
57 nType(i_nType),
58 aGetExceptions(),
59 aSetExceptions(),
60 bReadonly(i_bReadonly),
61 bBound(i_bBound)
65 Attribute::~Attribute()
70 void
71 Attribute::do_Accept(csv::ProcessorIfc & io_processor) const
73 csv::CheckedCall(io_processor,*this);
76 ClassId
77 Attribute::get_AryClass() const
79 return class_id;
82 const String &
83 Attribute::inq_LocalName() const
85 return sName;
88 Ce_id
89 Attribute::inq_NameRoom() const
91 return nNameRoom;
94 Ce_id
95 Attribute::inq_Owner() const
97 return nOwner;
100 E_SightLevel
101 Attribute::inq_SightLevel() const
103 return sl_Member;
106 namespace ifc_attribute
109 inline const Attribute &
110 attribute_cast( const CodeEntity & i_ce )
112 csv_assert( is_type<Attribute>(i_ce) );
113 return static_cast< const Attribute& >(i_ce);
116 bool
117 attr::HasAnyStereotype( const CodeEntity & i_ce )
119 const Attribute & rAttr = attribute_cast(i_ce);
120 return rAttr.bReadonly OR rAttr.bBound;
123 bool
124 attr::IsReadOnly( const CodeEntity & i_ce )
126 return attribute_cast(i_ce).bReadonly;
129 bool
130 attr::IsBound( const CodeEntity & i_ce )
132 return attribute_cast(i_ce).bBound;
135 Type_id
136 attr::Type( const CodeEntity & i_ce )
138 return attribute_cast(i_ce).nType;
141 void
142 attr::Get_GetExceptions( Dyn_TypeIterator & o_result,
143 const CodeEntity & i_ce )
145 o_result
146 = new SCI_Vector<Type_id>( attribute_cast(i_ce).aGetExceptions );
149 void
150 attr::Get_SetExceptions( Dyn_TypeIterator & o_result,
151 const CodeEntity & i_ce )
153 o_result
154 = new SCI_Vector<Type_id>( attribute_cast(i_ce).aSetExceptions );
158 } // namespace ifc_attribute
161 } // namespace idl
162 } // namespace ary