26using namespace css::reflection;
27using namespace css::uno;
32#ifdef TEST_LIST_CLASSES
33ClassNameVector g_aClassNames;
39 static osl::Mutex s_aMutex;
46 OUString
aName, typelib_TypeClass eTypeClass,
50 , _eTypeClass( static_cast<TypeClass>(eTypeClass) )
51 , _pTypeDescr( pTypeDescr )
60#ifdef TEST_LIST_CLASSES
61 ClassNameVector::const_iterator iFind( std::find( g_aClassNames.begin(), g_aClassNames.end(),
_aName ) );
62 OSL_ENSURE( iFind == g_aClassNames.end(),
"### idl class already exists!" );
63 g_aClassNames.insert(g_aClassNames.begin(),
_aName);
73#ifdef TEST_LIST_CLASSES
74 ClassNameVector::iterator iFind( std::find( g_aClassNames.begin(), g_aClassNames.end(),
_aName ) );
75 OSL_ENSURE( iFind != g_aClassNames.end(),
"### idl class does not exist!" );
76 g_aClassNames.erase( iFind );
101 {
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false },
102 {
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false },
103 {
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false },
104 {
false,
false,
true,
true,
true,
false,
false,
false,
false,
false,
false },
105 {
false,
false,
true,
true,
true,
false,
false,
false,
false,
false,
false },
106 {
false,
false,
true,
true,
true,
true,
true,
false,
false,
false,
false },
107 {
false,
false,
true,
true,
true,
true,
true,
false,
false,
false,
false },
108 {
false,
false,
true,
true,
true,
true,
true,
true,
true,
false,
false },
109 {
false,
false,
true,
true,
true,
true,
true,
true,
true,
false,
false },
110 {
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
false },
111 {
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
true }
117 if (
equals( xType ) || eAssign == TypeClass_ANY)
123 TypeClass eFrom = xType->getTypeClass();
124 if (eAssign > TypeClass_VOID && eAssign < TypeClass_STRING &&
125 eFrom > TypeClass_VOID && eFrom < TypeClass_STRING)
136 uno_any_destruct( &rObj,
reinterpret_cast< uno_ReleaseFunc
>(cpp_release) );
144 OSL_FAIL(
"### unexpected use!" );
145 return Sequence< Reference< XIdlClass > >();
150 OSL_FAIL(
"### unexpected use!" );
151 return Reference< XIdlClass >();
157 return Sequence< Reference< XIdlClass > >();
164 return Sequence< Reference< XIdlClass > >();
170 return Reference< XIdlField >();
175 return Sequence< Reference< XIdlField > >();
186 return Reference< XIdlMethod >();
191 return Sequence< Reference< XIdlMethod > >();
197 return Reference< XIdlClass >();
202 return Reference< XIdlArray >();
211 , _pTypeDescr( pTypeDescr )
212 , _pDeclTypeDescr( pDeclTypeDescr )
void SAL_CALL uno_any_construct(uno_Any *pDest, void *pSource, typelib_TypeDescription *pTypeDescr, uno_AcquireFunc acquire) SAL_THROW_EXTERN_C()
void SAL_CALL uno_any_destruct(uno_Any *pValue, uno_ReleaseFunc release) SAL_THROW_EXTERN_C()
virtual sal_Bool SAL_CALL isAssignableFrom(const css::uno::Reference< css::reflection::XIdlClass > &xType) override
virtual css::uno::Sequence< css::uno::Reference< css::reflection::XIdlField > > SAL_CALL getFields() override
css::uno::TypeClass _eTypeClass
virtual css::uno::Reference< css::reflection::XIdlArray > SAL_CALL getArray() override
virtual css::uno::Reference< css::reflection::XIdlMethod > SAL_CALL getMethod(const OUString &rName) override
virtual css::uno::Reference< css::reflection::XIdlClass > SAL_CALL getComponentType() override
virtual css::uno::Sequence< css::uno::Reference< css::reflection::XIdlClass > > SAL_CALL getInterfaces() override
rtl::Reference< IdlReflectionServiceImpl > m_xReflection
virtual void SAL_CALL createObject(css::uno::Any &rObj) override
virtual css::uno::Sequence< css::uno::Reference< css::reflection::XIdlMethod > > SAL_CALL getMethods() override
virtual css::uno::Sequence< css::uno::Reference< css::reflection::XIdlClass > > SAL_CALL getClasses() override
typelib_TypeDescription * getTypeDescr() const
virtual sal_Bool SAL_CALL equals(const css::uno::Reference< css::reflection::XIdlClass > &xType) override
virtual OUString SAL_CALL getName() override
virtual ~IdlClassImpl() override
virtual css::uno::Reference< css::reflection::XIdlField > SAL_CALL getField(const OUString &rName) override
virtual css::uno::Sequence< css::uno::Reference< css::reflection::XIdlClass > > SAL_CALL getSuperclasses() override
typelib_TypeDescription * _pTypeDescr
virtual css::uno::TypeClass SAL_CALL getTypeClass() override
IdlClassImpl(IdlReflectionServiceImpl *pReflection, OUString aName, typelib_TypeClass eTypeClass, typelib_TypeDescription *pTypeDescr)
virtual css::uno::Reference< css::reflection::XIdlClass > SAL_CALL getClass(const OUString &rName) override
virtual css::uno::Uik SAL_CALL getUik() override
virtual css::uno::Reference< css::reflection::XIdlClass > SAL_CALL getDeclaringClass() override
virtual ~IdlMemberImpl() override
css::uno::Reference< css::reflection::XIdlClass > _xDeclClass
IdlMemberImpl(IdlReflectionServiceImpl *pReflection, OUString aName, typelib_TypeDescription *pTypeDescr, typelib_TypeDescription *pDeclTypeDescr)
virtual OUString SAL_CALL getName() override
typelib_TypeDescription * _pDeclTypeDescr
typelib_TypeDescription * _pTypeDescr
IdlReflectionServiceImpl * getReflection() const
typelib_TypeDescription * getDeclTypeDescr() const
Reference< XIdlReflection > m_xReflection
struct _typelib_TypeDescription typelib_TypeDescription
const bool s_aAssignableFromTab[11][11]
::osl::Mutex & getMutexAccess()
void SAL_CALL typelib_typedescription_release(typelib_TypeDescription *pTD) SAL_THROW_EXTERN_C()
sal_Bool SAL_CALL typelib_typedescription_complete(typelib_TypeDescription **ppTypeDescr) SAL_THROW_EXTERN_C()
void SAL_CALL typelib_typedescription_acquire(typelib_TypeDescription *pTypeDescription) SAL_THROW_EXTERN_C()