1*dde7d3faSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*dde7d3faSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*dde7d3faSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*dde7d3faSAndrew Rist * distributed with this work for additional information 6*dde7d3faSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*dde7d3faSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*dde7d3faSAndrew Rist * "License"); you may not use this file except in compliance 9*dde7d3faSAndrew Rist * with the License. You may obtain a copy of the License at 10*dde7d3faSAndrew Rist * 11*dde7d3faSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*dde7d3faSAndrew Rist * 13*dde7d3faSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*dde7d3faSAndrew Rist * software distributed under the License is distributed on an 15*dde7d3faSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*dde7d3faSAndrew Rist * KIND, either express or implied. See the License for the 17*dde7d3faSAndrew Rist * specific language governing permissions and limitations 18*dde7d3faSAndrew Rist * under the License. 19*dde7d3faSAndrew Rist * 20*dde7d3faSAndrew Rist *************************************************************/ 21*dde7d3faSAndrew Rist 22*dde7d3faSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_comphelper.hxx" 26cdf0e10cSrcweir #include "comphelper/evtmethodhelper.hxx" 27cdf0e10cSrcweir #include "cppuhelper/typeprovider.hxx" 28cdf0e10cSrcweir 29cdf0e10cSrcweir using ::com::sun::star::uno::Sequence; 30cdf0e10cSrcweir using ::com::sun::star::uno::Type; 31cdf0e10cSrcweir 32cdf0e10cSrcweir namespace comphelper 33cdf0e10cSrcweir { 34cdf0e10cSrcweir getEventMethodsForType(const Type & type)35cdf0e10cSrcweir Sequence< ::rtl::OUString> getEventMethodsForType(const Type& type) 36cdf0e10cSrcweir { 37cdf0e10cSrcweir typelib_InterfaceTypeDescription *pType=0; 38cdf0e10cSrcweir type.getDescription( (typelib_TypeDescription**)&pType); 39cdf0e10cSrcweir 40cdf0e10cSrcweir if(!pType) 41cdf0e10cSrcweir return Sequence< ::rtl::OUString>(); 42cdf0e10cSrcweir 43cdf0e10cSrcweir Sequence< ::rtl::OUString> aNames(pType->nMembers); 44cdf0e10cSrcweir ::rtl::OUString* pNames = aNames.getArray(); 45cdf0e10cSrcweir for(sal_Int32 i=0;i<pType->nMembers;i++,++pNames) 46cdf0e10cSrcweir { 47cdf0e10cSrcweir // the decription reference 48cdf0e10cSrcweir typelib_TypeDescriptionReference* pMemberDescriptionReference = pType->ppMembers[i]; 49cdf0e10cSrcweir // the description for the reference 50cdf0e10cSrcweir typelib_TypeDescription* pMemberDescription = NULL; 51cdf0e10cSrcweir typelib_typedescriptionreference_getDescription(&pMemberDescription, pMemberDescriptionReference); 52cdf0e10cSrcweir if (pMemberDescription) 53cdf0e10cSrcweir { 54cdf0e10cSrcweir typelib_InterfaceMemberTypeDescription* pRealMemberDescription = 55cdf0e10cSrcweir reinterpret_cast<typelib_InterfaceMemberTypeDescription*>(pMemberDescription); 56cdf0e10cSrcweir *pNames = pRealMemberDescription->pMemberName; 57cdf0e10cSrcweir } 58cdf0e10cSrcweir } 59cdf0e10cSrcweir typelib_typedescription_release( (typelib_TypeDescription *)pType ); 60cdf0e10cSrcweir return aNames; 61cdf0e10cSrcweir } 62cdf0e10cSrcweir 63cdf0e10cSrcweir } 64cdf0e10cSrcweir 65cdf0e10cSrcweir 66cdf0e10cSrcweir 67cdf0e10cSrcweir 68cdf0e10cSrcweir 69cdf0e10cSrcweir 70cdf0e10cSrcweir 71