66 lines
2.6 KiB
Text
66 lines
2.6 KiB
Text
/* -*- 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 .
|
|
*/
|
|
|
|
|
|
module com { module sun { module star { module ucb {
|
|
|
|
/** is a proxy for a content provider.
|
|
|
|
<p>Implementing a content provider proxy can be useful if the creation of
|
|
the real content provider object shall be deferred for some reason
|
|
(i.e. performance) until the first method gets called on it. Instead of
|
|
instantiating and registering the real provider at the UCB, a proxy for
|
|
the real provider can be created and registered at the UCB.
|
|
|
|
@see XContentProviderProxyFactory
|
|
*/
|
|
published service ContentProviderProxy
|
|
{
|
|
/** The implementation of
|
|
com::sun::star::uno::XInterface::queryInterface()
|
|
must instantiate the real provider and return the return value
|
|
of a queryInterface call at the real provider, except for queries
|
|
for the interfaces implemented by the proxy itself. So the caller of
|
|
the queryInterface method at the proxy will get access to the real
|
|
provider in a completely transparent way.
|
|
*/
|
|
interface com::sun::star::uno::XInterface;
|
|
|
|
/** gives access to the original content provider behind the proxy.
|
|
|
|
<p>The implementation will instantiate the real content provider only
|
|
on demand using its UNO service name. This will load the content
|
|
providers implementation code (dynamic library), if not already done.
|
|
*/
|
|
interface com::sun::star::ucb::XContentProviderSupplier;
|
|
|
|
/** a content provider implementation that wraps the original provider.
|
|
*/
|
|
interface com::sun::star::ucb::XContentProvider;
|
|
|
|
/** a parameterized content provider implementation that wraps the
|
|
original provider.
|
|
*/
|
|
interface com::sun::star::ucb::XParameterizedContentProvider;
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|