diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-01-15 12:19:33 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-01-15 13:48:07 +0100 |
commit | f74c5f27f04940654320ce5bbfcd41b58a046288 (patch) | |
tree | cbfc5d31618edb146f9bf70a9f7531b4379e9f25 /registry | |
parent | fdo#59197 added Sidama_Ethiopia [sid-ET] locale data (diff) | |
download | core-f74c5f27f04940654320ce5bbfcd41b58a046288.tar.gz core-f74c5f27f04940654320ce5bbfcd41b58a046288.zip |
Remove obsolete checksingleton tool
Change-Id: Ief63ba65ea90636f9a2803a98bbe43d73c101ef5
Diffstat (limited to 'registry')
-rw-r--r-- | registry/Executable_checksingleton.mk | 43 | ||||
-rw-r--r-- | registry/Module_registry.mk | 1 | ||||
-rw-r--r-- | registry/tools/checksingleton.cxx | 336 |
3 files changed, 0 insertions, 380 deletions
diff --git a/registry/Executable_checksingleton.mk b/registry/Executable_checksingleton.mk deleted file mode 100644 index dc191c832de2..000000000000 --- a/registry/Executable_checksingleton.mk +++ /dev/null @@ -1,43 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# Copyright (C) 2012 David Ostrovsky <d.ostrovsky@gmx.de> (initial developer) -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Executable_Executable,checksingleton)) - -$(eval $(call gb_Executable_use_libraries,checksingleton,\ - sal \ - salhelper \ - reg \ -)) - -$(eval $(call gb_Executable_use_static_libraries,checksingleton,\ - registry_helper \ -)) - -$(eval $(call gb_Executable_add_exception_objects,checksingleton,\ - registry/tools/checksingleton \ -)) - -# vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/registry/Module_registry.mk b/registry/Module_registry.mk index cec5ff1d89d4..480306dff2b7 100644 --- a/registry/Module_registry.mk +++ b/registry/Module_registry.mk @@ -38,7 +38,6 @@ $(eval $(call gb_Module_add_targets,registry,\ Executable_regmerge \ Executable_regview \ Executable_regcompare \ - Executable_checksingleton \ Executable_rdbedit \ )) diff --git a/registry/tools/checksingleton.cxx b/registry/tools/checksingleton.cxx deleted file mode 100644 index 18c96139659c..000000000000 --- a/registry/tools/checksingleton.cxx +++ /dev/null @@ -1,336 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#include "registry/registry.hxx" -#include "registry/reflread.hxx" -#include "fileurl.hxx" -#include "options.hxx" - -#include "rtl/ustring.hxx" -#include "osl/diagnose.h" - -#include <stdio.h> -#include <string.h> - -#include <vector> -#include <string> - -using namespace rtl; -using namespace registry::tools; - -#define U2S( s ) \ - OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr() -#define S2U( s ) \ - OStringToOUString(s, RTL_TEXTENCODING_UTF8) - -class Options_Impl : public Options -{ -public: - explicit Options_Impl(char const * program) - : Options (program), m_bForceOutput(false) - {} - - std::string const & getIndexReg() const - { return m_indexRegName; } - std::string const & getTypeReg() const - { return m_typeRegName; } - bool hasBase() const - { return (!m_base.isEmpty()); } - const OString & getBase() const - { return m_base; } - bool forceOutput() const - { return m_bForceOutput; } - -protected: - virtual void printUsage_Impl() const; - virtual bool initOptions_Impl (std::vector< std::string > & rArgs); - - std::string m_indexRegName; - std::string m_typeRegName; - OString m_base; - bool m_bForceOutput; -}; - -// virtual -void Options_Impl::printUsage_Impl() const -{ - std::string const & rProgName = getProgramName(); - fprintf(stderr, - "Usage: %s -r<filename> -o<filename> [-options] | @<filename>\n", rProgName.c_str() - ); - fprintf(stderr, - " -o<filename> = filename specifies the name of the new singleton index registry.\n" - " -r<filename> = filename specifies the name of the type registry.\n" - " @<filename> = filename specifies a command file.\n" - "Options:\n" - " -b<name> = name specifies the name of a start key. The types will be searched\n" - " under this key in the type registry.\n" - " -f = force the output of all found singletons.\n" - " -h|-? = print this help message and exit.\n" - ); - fprintf(stderr, - "\n%s Version 1.0\n\n", rProgName.c_str() - ); -} - -// virtual -bool Options_Impl::initOptions_Impl(std::vector< std::string > & rArgs) -{ - std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end(); - for (; first != last; ++first) - { - std::string option (*first); - if ((*first)[0] != '-') - { - return badOption("invalid", option.c_str()); - } - switch ((*first)[1]) - { - case 'r': - case 'R': - { - if (!((++first != last) && ((*first)[0] != '-'))) - { - return badOption("invalid", option.c_str()); - } - m_typeRegName = *first; - break; - } - case 'o': - case 'O': - { - if (!((++first != last) && ((*first)[0] != '-'))) - { - return badOption("invalid", option.c_str()); - } - m_indexRegName = (*first); - break; - } - case 'b': - case 'B': - { - if (!((++first != last) && ((*first)[0] != '-'))) - { - return badOption("invalid", option.c_str()); - } - m_base = OString((*first).c_str(), (*first).size()); - break; - } - case 'f': - case 'F': - { - if ((*first).size() > 2) - { - return badOption("invalid", option.c_str()); - } - m_bForceOutput = sal_True; - break; - } - case 'h': - case '?': - { - if ((*first).size() > 2) - { - return badOption("invalid", option.c_str()); - } - return printUsage(); - // break; // unreachable - } - default: - return badOption("unknown", option.c_str()); - // break; // unreachable - } - } - return true; -} - -static sal_Bool checkSingletons(Options_Impl const & options, RegistryKey& singletonKey, RegistryKey& typeKey) -{ - RegValueType valueType = RG_VALUETYPE_NOT_DEFINED; - sal_uInt32 size = 0; - OUString tmpName; - sal_Bool bRet = sal_False; - - RegError e = typeKey.getValueInfo(tmpName, &valueType, &size); - if ((e != REG_VALUE_NOT_EXISTS) && (e != REG_INVALID_VALUE) && (valueType == RG_VALUETYPE_BINARY)) - { - std::vector< sal_uInt8 > value(size); - typeKey.getValue(tmpName, &value[0]); // @@@ broken api: write to buffer w/o buffer size. - - RegistryTypeReader reader(&value[0], value.size(), sal_False); - if ( reader.isValid() && reader.getTypeClass() == RT_TYPE_SINGLETON ) - { - RegistryKey entryKey; - OUString singletonName = reader.getTypeName().replace('/', '.'); - if ( singletonKey.createKey(singletonName, entryKey) ) - { - fprintf(stderr, "%s: could not create SINGLETONS entry for \"%s\"\n", - options.getProgramName().c_str(), U2S( singletonName )); - } - else - { - bRet = sal_True; - OUString value2 = reader.getSuperTypeName(); - - if ( entryKey.setValue(tmpName, RG_VALUETYPE_UNICODE, - (RegValue)value2.getStr(), sizeof(sal_Unicode)* (value2.getLength()+1)) ) - { - fprintf(stderr, "%s: could not create data entry for singleton \"%s\"\n", - options.getProgramName().c_str(), U2S( singletonName )); - } - - if ( options.forceOutput() ) - { - fprintf(stderr, "%s: create SINGLETON entry for \"%s\" -> \"%s\"\n", - options.getProgramName().c_str(), U2S( singletonName ), U2S(value2)); - } - } - } - } - - RegistryKeyArray subKeys; - typeKey.openSubKeys(tmpName, subKeys); - - sal_uInt32 length = subKeys.getLength(); - for (sal_uInt32 i = 0; i < length; i++) - { - RegistryKey elementKey = subKeys.getElement(i); - if ( checkSingletons(options, singletonKey, elementKey) ) - { - bRet = sal_True; - } - } - return bRet; -} - -#if (defined UNX) || (defined __MINGW32__) -int main( int argc, char * argv[] ) -#else -int _cdecl main( int argc, char * argv[] ) -#endif -{ - std::vector< std::string > args; - for (int i = 1; i < argc; i++) - { - int result = Options::checkArgument(args, argv[i], strlen(argv[i])); - if (result != 0) - { - // failure. - return (result); - } - } - - Options_Impl options(argv[0]); - if (!options.initOptions(args)) - { - options.printUsage(); - return (1); - } - - OUString indexRegName( convertToFileUrl(options.getIndexReg().c_str(), options.getIndexReg().size()) ); - Registry indexReg; - if ( indexReg.open(indexRegName, REG_READWRITE) ) - { - if ( indexReg.create(indexRegName) ) - { - fprintf(stderr, "%s: open registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getIndexReg().c_str()); - return (2); - } - } - - OUString typeRegName( convertToFileUrl(options.getTypeReg().c_str(), options.getTypeReg().size()) ); - Registry typeReg; - if ( typeReg.open(typeRegName, REG_READONLY) ) - { - fprintf(stderr, "%s: open registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getTypeReg().c_str()); - return (3); - } - - RegistryKey indexRoot; - if ( indexReg.openRootKey(indexRoot) ) - { - fprintf(stderr, "%s: open root key of registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getIndexReg().c_str()); - return (4); - } - - RegistryKey typeRoot; - if ( typeReg.openRootKey(typeRoot) ) - { - fprintf(stderr, "%s: open root key of registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getTypeReg().c_str()); - return (5); - } - - RegistryKey typeKey; - if ( options.hasBase() ) - { - if ( typeRoot.openKey(S2U(options.getBase()), typeKey) ) - { - fprintf(stderr, "%s: open base key of registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getTypeReg().c_str()); - return (6); - } - } - else - { - typeKey = typeRoot; - } - - RegistryKey singletonKey; - if ( indexRoot.createKey(OUString("SINGLETONS"), singletonKey) ) - { - fprintf(stderr, "%s: open/create SINGLETONS key of registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getIndexReg().c_str()); - return (7); - } - - sal_Bool bSingletonsExist = checkSingletons(options, singletonKey, typeKey); - - indexRoot.releaseKey(); - typeRoot.releaseKey(); - typeKey.releaseKey(); - singletonKey.releaseKey(); - if ( indexReg.close() ) - { - fprintf(stderr, "%s: closing registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getIndexReg().c_str()); - return (9); - } - if ( !bSingletonsExist ) - { - if ( indexReg.destroy(OUString()) ) - { - fprintf(stderr, "%s: destroy registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getIndexReg().c_str()); - return (10); - } - } - if ( typeReg.close() ) - { - fprintf(stderr, "%s: closing registry \"%s\" failed\n", - options.getProgramName().c_str(), options.getTypeReg().c_str()); - return (11); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |