25#include <com/sun/star/reflection/XIdlField2.hpp>
27using namespace css::lang;
28using namespace css::reflection;
29using namespace css::uno;
36typedef cppu::ImplInheritanceHelper<IdlMemberImpl, XIdlField, XIdlField2> IdlEnumFieldImpl_Base;
37class IdlEnumFieldImpl :
public IdlEnumFieldImpl_Base
42 IdlEnumFieldImpl( IdlReflectionServiceImpl * pReflection,
const OUString & rName,
44 : IdlEnumFieldImpl_Base( pReflection, rName, pTypeDescr, pTypeDescr )
49 virtual Reference< XIdlClass > SAL_CALL getDeclaringClass()
override;
50 virtual OUString SAL_CALL getName()
override;
52 virtual Reference< XIdlClass > SAL_CALL
getType()
override;
53 virtual FieldAccessMode SAL_CALL getAccessMode()
override;
54 virtual Any SAL_CALL
get(
const Any & rObj )
override;
55 virtual void SAL_CALL
set(
const Any & rObj,
const Any & rValue )
override;
57 virtual void SAL_CALL
set( Any & rObj,
const Any & rValue )
override;
64Reference< XIdlClass > IdlEnumFieldImpl::getDeclaringClass()
69OUString IdlEnumFieldImpl::getName()
76Reference< XIdlClass > IdlEnumFieldImpl::getType()
78 return getDeclaringClass();
81FieldAccessMode IdlEnumFieldImpl::getAccessMode()
83 return FieldAccessMode_READONLY;
86Any IdlEnumFieldImpl::get(
const Any & )
91void IdlEnumFieldImpl::set(
const Any &,
const Any & )
93 throw IllegalAccessException(
94 "cannot set enum field, it is constant",
98void IdlEnumFieldImpl::set( Any &,
const Any & )
100 throw IllegalAccessException(
101 "cannot set enum field, it is constant",
117 const OUString2Field::const_iterator iFind(
_aName2Field.find( rName ) );
119 return (*iFind).second;
121 return Reference< XIdlField >();
132 Sequence< Reference< XIdlField > > aFields( nFields );
133 Reference< XIdlField > * pSeq = aFields.getArray();
OUString2Field _aName2Field
virtual css::uno::Sequence< css::uno::Reference< css::reflection::XIdlField > > SAL_CALL getFields() override
typelib_EnumTypeDescription * getTypeDescr() const
virtual css::uno::Reference< css::reflection::XIdlField > SAL_CALL getField(const OUString &rName) override
std::optional< css::uno::Sequence< css::uno::Reference< css::reflection::XIdlField > > > m_xFields
virtual void SAL_CALL createObject(css::uno::Any &rObj) override
virtual ~EnumIdlClassImpl() override
IdlReflectionServiceImpl * getReflection() const
typelib_TypeDescription * getTypeDescr() const
virtual css::uno::Reference< css::reflection::XIdlClass > SAL_CALL getDeclaringClass() override
virtual OUString SAL_CALL getName() override
struct _typelib_TypeDescription typelib_TypeDescription
void set(css::uno::UnoInterfaceReference const &value)
::osl::Mutex & getMutexAccess()
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
bool getType(BSTR name, Type &type)