1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include <comphelper/evtmethodhelper.hxx>
21 #include <cppuhelper/typeprovider.hxx>
23 using ::com::sun::star::uno::Sequence
;
24 using ::com::sun::star::uno::Type
;
29 Sequence
< OUString
> getEventMethodsForType(const Type
& type
)
31 typelib_InterfaceTypeDescription
*pType
=0;
32 type
.getDescription(reinterpret_cast<typelib_TypeDescription
**>(&pType
));
35 return Sequence
< OUString
>();
37 Sequence
< OUString
> aNames(pType
->nMembers
);
38 OUString
* pNames
= aNames
.getArray();
39 for(sal_Int32 i
=0;i
<pType
->nMembers
;i
++,++pNames
)
41 // the description reference
42 typelib_TypeDescriptionReference
* pMemberDescriptionReference
= pType
->ppMembers
[i
];
43 // the description for the reference
44 typelib_TypeDescription
* pMemberDescription
= NULL
;
45 typelib_typedescriptionreference_getDescription(&pMemberDescription
, pMemberDescriptionReference
);
46 if (pMemberDescription
)
48 typelib_InterfaceMemberTypeDescription
* pRealMemberDescription
=
49 reinterpret_cast<typelib_InterfaceMemberTypeDescription
*>(pMemberDescription
);
50 *pNames
= pRealMemberDescription
->pMemberName
;
53 typelib_typedescription_release( &pType
->aBase
);
59 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */