UDK 3.2.7 C/C++ API Reference
|
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 00002 /************************************************************************* 00003 * 00004 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 00005 * 00006 * Copyright 2000, 2010 Oracle and/or its affiliates. 00007 * 00008 * OpenOffice.org - a multi-platform office productivity suite 00009 * 00010 * This file is part of OpenOffice.org. 00011 * 00012 * OpenOffice.org is free software: you can redistribute it and/or modify 00013 * it under the terms of the GNU Lesser General Public License version 3 00014 * only, as published by the Free Software Foundation. 00015 * 00016 * OpenOffice.org is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Lesser General Public License version 3 for more details 00020 * (a copy is included in the LICENSE file that accompanied this code). 00021 * 00022 * You should have received a copy of the GNU Lesser General Public License 00023 * version 3 along with OpenOffice.org. If not, see 00024 * <http://www.openoffice.org/license.html> 00025 * for a copy of the LGPLv3 License. 00026 * 00027 ************************************************************************/ 00028 00029 #ifndef INCLUDED_registry_types_h 00030 #define INCLUDED_registry_types_h 00031 00032 #include "sal/types.h" 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00043 enum RTTypeClass { 00047 RT_TYPE_INVALID, 00048 00052 RT_TYPE_INTERFACE, 00053 00057 RT_TYPE_MODULE, 00058 00062 RT_TYPE_STRUCT, 00063 00067 RT_TYPE_ENUM, 00068 00072 RT_TYPE_EXCEPTION, 00073 00077 RT_TYPE_TYPEDEF, 00078 00083 RT_TYPE_SERVICE, 00084 00088 RT_TYPE_SINGLETON, 00089 00091 RT_TYPE_OBJECT, 00092 00096 RT_TYPE_CONSTANTS, 00097 00101 RT_TYPE_UNION, 00102 00104 00117 RT_TYPE_PUBLISHED = 0x4000 00119 }; 00120 00144 typedef sal_uInt16 RTFieldAccess; 00145 00147 #define RT_ACCESS_INVALID 0x0000 00148 00149 #define RT_ACCESS_READONLY 0x0001 00150 00151 #define RT_ACCESS_OPTIONAL 0x0002 00152 00153 #define RT_ACCESS_MAYBEVOID 0x0004 00154 00155 #define RT_ACCESS_BOUND 0x0008 00156 00157 #define RT_ACCESS_CONSTRAINED 0x0010 00158 00159 #define RT_ACCESS_TRANSIENT 0x0020 00160 00161 #define RT_ACCESS_MAYBEAMBIGUOUS 0x0040 00162 00163 #define RT_ACCESS_MAYBEDEFAULT 0x0080 00164 00165 #define RT_ACCESS_REMOVEABLE 0x0100 00166 00167 #define RT_ACCESS_ATTRIBUTE 0x0200 00168 00169 #define RT_ACCESS_PROPERTY 0x0400 00170 00171 #define RT_ACCESS_CONST 0x0800 00172 00173 #define RT_ACCESS_READWRITE 0x1000 00174 00175 #define RT_ACCESS_DEFAULT 0x2000 00176 00186 #define RT_ACCESS_PARAMETERIZED_TYPE 0x4000 00187 00196 #define RT_ACCESS_PUBLISHED 0x8000 00197 00202 enum RTValueType { 00203 RT_TYPE_NONE, 00204 RT_TYPE_BOOL, 00205 RT_TYPE_BYTE, 00206 RT_TYPE_INT16, 00207 RT_TYPE_UINT16, 00208 RT_TYPE_INT32, 00209 RT_TYPE_UINT32, 00210 RT_TYPE_INT64, 00211 RT_TYPE_UINT64, 00212 RT_TYPE_FLOAT, 00213 RT_TYPE_DOUBLE, 00214 RT_TYPE_STRING 00215 }; 00216 00219 union RTConstValueUnion { 00220 sal_Bool aBool; 00221 sal_Int8 aByte; 00222 sal_Int16 aShort; 00223 sal_uInt16 aUShort; 00224 sal_Int32 aLong; 00225 sal_uInt32 aULong; 00226 sal_Int64 aHyper; 00227 sal_uInt64 aUHyper; 00228 float aFloat; 00229 double aDouble; 00230 sal_Unicode const * aString; 00231 }; 00232 00238 enum RTMethodMode { 00240 RT_MODE_INVALID, 00241 00243 RT_MODE_ONEWAY, 00244 00246 RT_MODE_ONEWAY_CONST, 00247 00249 RT_MODE_TWOWAY, 00250 00252 RT_MODE_TWOWAY_CONST, 00253 00260 RT_MODE_ATTRIBUTE_GET, 00261 00268 RT_MODE_ATTRIBUTE_SET 00269 }; 00270 00276 enum RTParamMode { 00278 RT_PARAM_INVALID = 0, 00279 00281 RT_PARAM_IN = 1, 00282 00284 RT_PARAM_OUT = 2, 00285 00287 RT_PARAM_INOUT = 3, 00288 00299 RT_PARAM_REST = 4 00300 }; 00301 00304 enum RTReferenceType { 00306 RT_REF_INVALID, 00307 00311 RT_REF_SUPPORTS, 00312 00316 RT_REF_OBSERVES, 00317 00321 RT_REF_EXPORTS, 00322 00327 RT_REF_NEEDS, 00328 00334 RT_REF_TYPE_PARAMETER 00335 }; 00336 00337 #ifdef __cplusplus 00338 } 00339 #endif 00340 00341 #endif 00342 00343 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */