summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/ucb/ContentProviderProxy.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/ucb/ContentProviderProxy.idl')
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxy.idl95
1 files changed, 95 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxy.idl b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
new file mode 100644
index 000000000000..1bbd1ebf8c8e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentProviderProxy_idl__
+#define __com_sun_star_ucb_ContentProviderProxy_idl__
+
+#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+#endif
+
+//=============================================================================
+
+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. Instaead of
+ instanciating 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
+ <member scope="com::sun::star::uno">XInterface::queryInterface</member>
+ must instanciate 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 wrappes the original provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ //-------------------------------------------------------------------------
+ /** a parameterized content provider implementation that wrappes the
+ original provider.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif