/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/**
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef __com_sun_star_uno_TypeClass_idl__
#define __com_sun_star_uno_TypeClass_idl__
module com { module sun { module star { module uno {
/** This enum describes all type classes of UNO. Every specific type has a type
class specifying the general context of the reflected type.
Example:
A type reflecting the interface XInterface is of type class
INTERFACE and its name is "com.sun.star.uno.XInterface".
*/
published enum TypeClass
{
/** reflecting the void type; denotes no type
*/
VOID,
/** reflecting the 16-bit unicode character type
*/
CHAR,
/** reflecting the boolean type; true and false
*/
BOOLEAN,
/** reflecting the 8-bit ordinal type
*/
BYTE,
/** reflecting the signed 16-bit ordinal type
*/
SHORT,
/** reflecting the unsigned 16-bit ordinal type
*/
UNSIGNED_SHORT,
/** reflecting the signed 32-bit ordinal type
*/
LONG,
/** reflecting the unsigned 32-bit type
*/
UNSIGNED_LONG,
/** reflecting the signed 64-bit ordinal type
*/
HYPER,
/** reflecting the unsigned 64-bit ordinal type
*/
UNSIGNED_HYPER,
/** reflecting the 32-bit floating point type
*/
FLOAT,
/** reflecting the 64-bit floating point type
*/
DOUBLE,
/** reflecting the string type; strings of unicode characters
*/
STRING,
/** reflecting the meta type
*/
TYPE,
/** reflecting the any type; anys can carry any UNO value except of any values
*/
ANY,
/** reflecting enum types
*/
ENUM,
/** reflecting typedefed types referencing other types
*/
TYPEDEF,
/** reflecting compound types
*/
STRUCT,
/** reflecting union types
*/
UNION,
/** reflecting exception types
*/
EXCEPTION,
/** reflecting sequence types
*/
SEQUENCE,
/** reflecting array types
*/
ARRAY,
/** reflecting interface types
*/
INTERFACE,
/** reflecting services
*/
SERVICE,
/** reflecting modules
*/
MODULE,
/** reflecting interface methods
*/
INTERFACE_METHOD,
/** reflecting interface attributes
*/
INTERFACE_ATTRIBUTE,
/** reflecting the unreflectable type
*/
UNKNOWN,
/** reflecting properties
*/
PROPERTY,
/** reflecting constants
*/
CONSTANT,
/** reflecting constants groups
*/
CONSTANTS,
/** reflecting singletons
*/
SINGLETON
};
}; }; }; };
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */