UDK 3.2.7 C/C++ API Reference
registry/types.h
Go to the documentation of this file.
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: */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines