23#include <typelib/typeclass.h>
24#include <typelib/typedescription.h>
29 return typeClass <= typelib_TypeClass_DOUBLE
30 || typeClass == typelib_TypeClass_ENUM;
42 switch (
type->eTypeClass) {
43 case typelib_TypeClass_ANY:
44 case typelib_TypeClass_INTERFACE:
47 case typelib_TypeClass_STRUCT:
48 case typelib_TypeClass_EXCEPTION:
50 typelib_CompoundTypeDescription
const *
p
51 =
reinterpret_cast< typelib_CompoundTypeDescription
const *
>(
53 for (sal_Int32
i = 0;
i <
p->nMembers; ++
i) {
54 switch (
p->ppTypeRefs[
i]->eTypeClass) {
55 case typelib_TypeClass_ANY:
56 case typelib_TypeClass_INTERFACE:
59 case typelib_TypeClass_STRUCT:
60 case typelib_TypeClass_EXCEPTION:
61 case typelib_TypeClass_SEQUENCE:
64 TYPELIB_DANGER_GET(&
t,
p->ppTypeRefs[
i]);
66 TYPELIB_DANGER_RELEASE(
t);
77 if (
p->pBaseTypeDescription !=
nullptr) {
83 case typelib_TypeClass_SEQUENCE:
84 switch (
reinterpret_cast< typelib_IndirectTypeDescription
const *
>(
85 type)->pType->eTypeClass) {
86 case typelib_TypeClass_ANY:
87 case typelib_TypeClass_INTERFACE:
90 case typelib_TypeClass_STRUCT:
91 case typelib_TypeClass_EXCEPTION:
92 case typelib_TypeClass_SEQUENCE:
97 reinterpret_cast< typelib_IndirectTypeDescription
const *
>(
100 TYPELIB_DANGER_RELEASE(
t);
struct _typelib_TypeDescription typelib_TypeDescription
bool isSimpleType(typelib_TypeClass typeClass)
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT,...
bool relatesToInterfaceType(typelib_TypeDescription const *type)
Determines whether a type relates to an interface type (is itself an interface type,...