office-gobmx/unoidl/inc/unoidl/legacyprovider.hxx
Stephan Bergmann 12353c7386 WIP: Experimental new binary type.rdb format
Add LegacyProvider to read the old format (requires a provider Manager, to
resolve singletons' bases, to decide whether they are interface- or service-
based).

Replace registry-based reg2bin with provider-based reg2unoidl.

Change-Id: I5865e62308cc2d9c5439211ac803d84e93aab656
2013-03-01 23:23:50 +01:00

49 lines
1.3 KiB
C++

/* -*- 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/.
*/
#ifndef INCLUDED_UNOIDL_LEGACYPROVIDER_HXX
#define INCLUDED_UNOIDL_LEGACYPROVIDER_HXX
#include "sal/config.h"
#include "registry/registry.hxx"
#include "rtl/ref.hxx"
#include "sal/types.h"
#include "unoidl/detail/dllapi.hxx"
#include "unoidl/unoidl.hxx"
namespace rtl { class OUString; }
namespace unoidl {
class LO_DLLPUBLIC_UNOIDL LegacyProvider: public Provider {
public:
// throws FileFormatException, NoSuchFileException:
LegacyProvider(
rtl::Reference< Manager > const & manager, rtl::OUString const & uri);
// throws FileFormatException:
virtual rtl::Reference< MapCursor > createRootCursor() const;
// throws FileFormatException:
virtual rtl::Reference< Entity > findEntity(rtl::OUString const & name)
const;
private:
virtual SAL_DLLPRIVATE ~LegacyProvider() throw ();
rtl::Reference< Manager > manager_;
mutable RegistryKey ucr_;
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */