UDK 3.2.7 C/C++ API Reference
registry/regtype.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 _REGISTRY_REGTYPE_H_
00030 #define _REGISTRY_REGTYPE_H_
00031 
00032 #include <sal/types.h>
00033 #include <sal/udkversion.h>
00034 
00035 // version number of the library. This number is used for the load on call
00036 // mechanism and must be modifed when the library will be upgraded to a new version.
00037 #define LIBRARY_VERSION SAL_UDK_MAJOR
00038 
00040 typedef void*       RegHandle;
00041 
00043 typedef void*       RegKeyHandle;
00044 
00046 typedef void*       RegValue;
00047 
00054 typedef sal_uInt16  RegAccessMode;
00055 
00057 #define REG_READONLY        0x0001
00058 
00059 #define REG_READWRITE       0x0002
00060 
00067 enum RegKeyType
00068 {
00070     RG_KEYTYPE,
00072     RG_LINKTYPE
00073 };
00074 
00083 enum RegValueType
00084 {
00086     RG_VALUETYPE_NOT_DEFINED,
00088     RG_VALUETYPE_LONG,
00090     RG_VALUETYPE_STRING,
00092     RG_VALUETYPE_UNICODE,
00094     RG_VALUETYPE_BINARY,
00096     RG_VALUETYPE_LONGLIST,
00098     RG_VALUETYPE_STRINGLIST,
00100     RG_VALUETYPE_UNICODELIST
00101 };
00102 
00104 enum RegError
00105 {
00107     REG_NO_ERROR,
00109     REG_INTERNAL_ERROR,
00110 
00112     REG_REGISTRY_NOT_OPEN,
00114     REG_REGISTRY_NOT_EXISTS,
00116     REG_REGISTRY_READONLY,
00118     REG_DESTROY_REGISTRY_FAILED,
00122     REG_CANNOT_OPEN_FOR_READWRITE,
00126     REG_INVALID_REGISTRY,
00127 
00129     REG_KEY_NOT_OPEN,
00131     REG_KEY_NOT_EXISTS,
00133     REG_CREATE_KEY_FAILED,
00135     REG_DELETE_KEY_FAILED,
00139     REG_INVALID_KEYNAME,
00141     REG_INVALID_KEY,
00142 
00144     REG_VALUE_NOT_EXISTS,
00146     REG_SET_VALUE_FAILED,
00148     REG_DELETE_VALUE_FAILED,
00150     REG_INVALID_VALUE,
00151 
00153     REG_MERGE_ERROR,
00157     REG_MERGE_CONFLICT,
00158 
00162     REG_DETECT_RECURSION,
00166     REG_INVALID_LINK,
00168     REG_INVALID_LINKNAME,
00170     REG_INVALID_LINKTARGET,
00172     REG_LINKTARGET_NOT_EXIST,
00174     REG_BUFFERSIZE_TOSMALL
00175 };
00176 
00178 #define REGISTRY_CALLTYPE   SAL_CALL
00179 
00180 #endif
00181 
00182 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines