diff options
author | Rüdiger Timm <rt@openoffice.org> | 2004-03-30 15:33:46 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2004-03-30 15:33:46 +0000 |
commit | 9938ca39360e75959f74a19ba780ecc184822c9e (patch) | |
tree | 887370f0f8ccb35bd442031ae532c43d205cfea1 | |
parent | fe69d558cc52d9c1f0c20c58d2d7811786033b96 (diff) |
INTEGRATION: CWS sb14 (1.7.66); FILE MERGED
2004/03/12 14:24:52 sb 1.7.66.2: #i21150# Added new extensible type reader interface.
2004/03/05 12:34:13 sb 1.7.66.1: #i21150# Added support for rest parameters.
-rw-r--r-- | registry/inc/registry/refltype.hxx | 299 |
1 files changed, 3 insertions, 296 deletions
diff --git a/registry/inc/registry/refltype.hxx b/registry/inc/registry/refltype.hxx index 2c9e95fbfd27..51a7bb4e4f43 100644 --- a/registry/inc/registry/refltype.hxx +++ b/registry/inc/registry/refltype.hxx @@ -2,9 +2,9 @@ * * $RCSfile: refltype.hxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: jsc $ $Date: 2002-11-11 15:20:20 $ + * last change: $Author: rt $ $Date: 2004-03-30 16:33:46 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -59,97 +59,10 @@ * ************************************************************************/ -/************************************************************************* - - Source Code Control System - Update - - $Log: not supported by cvs2svn $ - Revision 1.6 2001/11/15 18:01:32 jsc - #88337# review docu - - Revision 1.5 2001/05/18 15:30:58 jsc - #87233# insert enum value - - Revision 1.4 2001/03/14 09:37:08 jsc - remove vos dependencies - - Revision 1.3 2000/10/09 14:48:24 hr - #65293#: syntax - - Revision 1.2 2000/10/09 11:53:09 jsc - change the binary typelibrary format, make it extendable - - Revision 1.1.1.1 2000/09/18 15:18:42 hr - initial import - - Revision 1.19 2000/09/17 12:30:32 willem.vandorp - OpenOffice header added. - - Revision 1.18 2000/08/04 15:31:39 jsc - extend biniary type format - - Revision 1.17 2000/07/26 17:44:32 willem.vandorp - Headers/footers replaced - - Revision 1.16 2000/03/24 15:00:36 jsc - modified for unicode changes - - Revision 1.15 2000/02/08 16:01:09 hr - #70473# changes for unicode ( patched by automated patchtool ) - - Revision 1.14 1999/10/22 09:58:47 jsc - TYPEREG_CALLTYPE = SAL_CALL - - Revision 1.13 1999/10/21 15:48:50 jsc - optional flag now in registry - - Revision 1.12 1999/10/15 11:05:51 dbo - short RTConstValue from sal_uInt16 to sal_Int16 - - Revision 1.11 1999/07/02 09:25:40 jsc - #67179# Binaerblop der CoreReflection ist erweitert worden - - Revision 1.10 1999/03/12 14:16:38 jsc - #61011# Anpassung an osl-Typen - - Revision 1.9 1998/07/03 12:36:16 ts - added SERVICE and OBJECT - - Revision 1.8 1998/07/03 11:20:07 ts - prefixen von typen - - Revision 1.7 1998/07/03 10:55:41 ts - added RT_TYPE_TYPEDEF - - Revision 1.6 1998/07/03 08:41:02 ts - bugs und set/getUik() - - Revision 1.5 1998/07/02 11:58:47 jsc - Typ Anpassung, Schnittstelle frei von solar.h - - Revision 1.4 1998/07/01 16:55:19 ts - alignment unter soaris beachten - - Revision 1.3 1998/07/01 13:39:01 ts - bugs, bugs, bugs - - Revision 1.2 1998/06/30 13:42:27 ts - Anpassung an SOLARIS - - Revision 1.1.1.1 1998/06/30 11:17:45 jsc - neu - - -*************************************************************************/ - #ifndef _REGISTRY_REFLTYPE_HXX_ #define _REGISTRY_REFLTYPE_HXX_ -#ifdef SOLARIS -#include <wchar.h> -#else -#include <stdlib.h> -#endif +#include "registry/types.h" #ifndef _SAL_TYPES_H_ #include <sal/types.h> @@ -166,212 +79,6 @@ enum RTTypeSource RT_JAVA }; -/** specifies the typeclass of a binary type blob. - - The general structure of a binary type blob is always the same. It depends - on the typeclass which parts of the blob are filled with data or not. - */ -enum RTTypeClass -{ - /** specifies that the structure of the given blob is unknown and can't be read. - */ - RT_TYPE_INVALID, - /** specifies that the blob represents an interface type. An interface blob can contain - a base interface, attributes and methods. - */ - RT_TYPE_INTERFACE, - /** specifies that the blob represents a module type. A module blob can contain - a base module and constant members (fields). - */ - RT_TYPE_MODULE, - /** specifies that the blob represents a struct type. A struct blob can contain - a base struct and members (fields). - */ - RT_TYPE_STRUCT, - /** specifies that the blob represents an enum type. An enum blob can contain - enum values which are accessible as fields. - */ - RT_TYPE_ENUM, - /** specifies that the blob represents an exception type. An exception blob can contain - a base exception and members (fields). - */ - RT_TYPE_EXCEPTION, - /** specifies that the blob represents a typedef type. A typedef blob can contain - a base type. - */ - RT_TYPE_TYPEDEF, - /** specifies that the blob represents a service type. A service blob can contain - a base service, properties (fields), references to services or interfaces. - */ - RT_TYPE_SERVICE, - /** specifies that the blob represents a singleton type (a named object) which refers exactly - one existing service. - */ - RT_TYPE_SINGLETON, - /// deprecated, not used. - RT_TYPE_OBJECT, - /** specifies that the blob represents a constants type. A constants blob can contain - constant types as fields. - */ - RT_TYPE_CONSTANTS, - /** @deprecated - a union type was evaluated but currently not supported. - */ - RT_TYPE_UNION -}; - -/** specifies the type for the field access. - - Fields in a type blob are used for different types. Among others they were used - for properties of services and these poperties can have several flags. - @see RT_ACCESS_INVALID - @see RT_ACCESS_READONLY - @see RT_ACCESS_OPTIONAL - @see RT_ACCESS_MAYBEVOID - @see RT_ACCESS_BOUND - @see RT_ACCESS_CONSTRAINED - @see RT_ACCESS_TRANSIENT - @see RT_ACCESS_MAYBEAMBIGUOUS - @see RT_ACCESS_MAYBEDEFAULT - @see RT_ACCESS_REMOVEABLE - @see RT_ACCESS_ATTRIBUTE - @see RT_ACCESS_PROPERTY - @see RT_ACCESS_CONST - @see RT_ACCESS_READWRITE - @see RT_ACCESS_DEFAULT - */ -typedef sal_uInt16 RTFieldAccess; - -/// specifies a unknown flag -#define RT_ACCESS_INVALID 0x0000 -/// specifies a readonly property/attribute -#define RT_ACCESS_READONLY 0x0001 -/// specifies a property as optional that means that it must not be implemented. -#define RT_ACCESS_OPTIONAL 0x0002 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_MAYBEVOID 0x0004 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_BOUND 0x0008 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_CONSTRAINED 0x0010 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_TRANSIENT 0x0020 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_MAYBEAMBIGUOUS 0x0040 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_MAYBEDEFAULT 0x0080 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_REMOVEABLE 0x0100 -/// @see com::sun::star::beans::PropertyAttribute -#define RT_ACCESS_ATTRIBUTE 0x0200 -/// specifies that the field is a property -#define RT_ACCESS_PROPERTY 0x0400 -/// specifies that the field is a constant or enum value -#define RT_ACCESS_CONST 0x0800 -/// specifies that the property/attribute has read/write access -#define RT_ACCESS_READWRITE 0x1000 -/// only to describe a union default label -#define RT_ACCESS_DEFAULT 0x2000 - -/** specifies the type of a reference used in a service description. - */ -enum RTReferenceType -{ - /// the reference type is unknown - RT_REF_INVALID, - /** the service support the interface that means a implementation of this service - must implement this interface. - */ - RT_REF_SUPPORTS, - /** @deprecated - the service observes the interface. - */ - RT_REF_OBSERVES, - /** the service exports the specified service that means this service provides also - the specified service. - */ - RT_REF_EXPORTS, - /** @deprecated - the service needs the specified service that means in the context of this service - the specified service will be used or must be available. - */ - RT_REF_NEEDS -}; - -/** specifies the mode of a method. - - A method can be synchron or asynchron (oneway). The const attribute - for methods was removed so that the const values are deprecated. - */ -enum RTMethodMode -{ - /// indicates an invalid mode - RT_MODE_INVALID, - /// indicates the asynchronous mode of a method - RT_MODE_ONEWAY, - /// @deprecated - RT_MODE_ONEWAY_CONST, - /// indicated the synchronous mode of a method - RT_MODE_TWOWAY, - /// @deprecated - RT_MODE_TWOWAY_CONST -}; - -/** specifies the mode of a parameter. - - There are three paramter modes which have impact of the - handling of the paramter in the UNO bridges and the UNO code - generation. - */ -enum RTParamMode -{ - /// indicates an invalid parameter mode - RT_PARAM_INVALID, - /// indicates a pure in parameter which is used by value - RT_PARAM_IN, - /// indicates a pure out parameter which is used by reference - RT_PARAM_OUT, - /// indicates a in and out parameter which is used also by reference - RT_PARAM_INOUT -}; - -/** specifies the type of a field value. - - A field can have a value if it repsresents a constant or an enum value. - */ -enum RTValueType -{ - RT_TYPE_NONE, - RT_TYPE_BOOL, - RT_TYPE_BYTE, - RT_TYPE_INT16, - RT_TYPE_UINT16, - RT_TYPE_INT32, - RT_TYPE_UINT32, - RT_TYPE_INT64, - RT_TYPE_UINT64, - RT_TYPE_FLOAT, - RT_TYPE_DOUBLE, - RT_TYPE_STRING -}; - -/** specifies a variable container for field values. - */ -union RTConstValueUnion -{ - sal_Bool aBool; - sal_uInt8 aByte; - sal_Int16 aShort; - sal_uInt16 aUShort; - sal_Int32 aLong; - sal_uInt32 aULong; - sal_Int64 aHyper; - sal_uInt64 aUHyper; - float aFloat; - double aDouble; - const sal_Unicode* aString; -}; - /** specifies a helper class for const values. This class is used for easy handling of constants or enum values |