2008-03-22 04:05:53 +03:00
/*
* Unix SMB / CIFS implementation .
* Registry helper routines
* Copyright ( C ) Michael Adam 2008
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation ; either version 3 of the License , or ( at your option )
* any later version .
*
* This program is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for
* more details .
*
* You should have received a copy of the GNU General Public License along with
* this program ; if not , see < http : //www.gnu.org/licenses/>.
*/
# include "includes.h"
2009-10-02 02:17:06 +04:00
# include "registry.h"
2010-09-21 10:37:14 +04:00
# include "reg_init_basic.h"
2010-05-23 17:25:00 +04:00
# include "reg_cachehook.h"
2010-05-25 00:42:00 +04:00
# include "reg_backend_db.h"
2008-03-22 04:05:53 +03:00
# undef DBGC_CLASS
# define DBGC_CLASS DBGC_REGISTRY
2008-04-13 17:21:31 +04:00
WERROR registry_init_common ( void )
2008-03-22 04:05:53 +03:00
{
2008-04-13 14:41:34 +04:00
WERROR werr ;
2008-03-22 04:05:53 +03:00
2008-04-13 14:41:34 +04:00
werr = regdb_init ( ) ;
if ( ! W_ERROR_IS_OK ( werr ) ) {
2008-04-13 17:21:31 +04:00
DEBUG ( 0 , ( " Failed to initialize the registry: %s \n " ,
2008-11-01 19:19:26 +03:00
win_errstr ( werr ) ) ) ;
2008-04-13 17:12:04 +04:00
goto done ;
2008-03-22 04:05:53 +03:00
}
2008-04-13 16:18:06 +04:00
werr = reghook_cache_init ( ) ;
if ( ! W_ERROR_IS_OK ( werr ) ) {
2008-04-13 17:21:31 +04:00
DEBUG ( 0 , ( " Failed to initialize the reghook cache: %s \n " ,
2008-11-01 19:19:26 +03:00
win_errstr ( werr ) ) ) ;
2009-01-28 14:04:53 +03:00
goto done ;
}
/* setup the necessary keys and values */
werr = init_registry_data ( ) ;
if ( ! W_ERROR_IS_OK ( werr ) ) {
DEBUG ( 0 , ( " Failed to initialize data in registry! \n " ) ) ;
2008-04-13 16:18:06 +04:00
}
2008-03-22 04:05:53 +03:00
2008-04-13 17:12:04 +04:00
done :
2008-04-13 17:21:31 +04:00
return werr ;
}
WERROR registry_init_basic ( void )
{
WERROR werr ;
DEBUG ( 10 , ( " registry_init_basic called \n " ) ) ;
werr = registry_init_common ( ) ;
2008-04-13 17:12:04 +04:00
regdb_close ( ) ;
return werr ;
2008-03-22 04:05:53 +03:00
}