merged tag LIBREOFFICE_3_2_99_3
[LibreOffice.git] / scripting / source / runtimemgr / StorageBridge.hxx
blob052102de1ab702162ec668e211d7d4d5dedd5e8e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
30 #ifndef _FRAMEWORK_SCRIPT_STORAGEBRIDGE_HXX_
31 #define _FRAMEWORK_SCRIPT_STORAGEBRIDGE_HXX_
33 #include <cppuhelper/implbase1.hxx>
34 #include <com/sun/star/uno/XComponentContext.hpp>
36 #include <drafts/com/sun/star/script/framework/storage/XScriptInfoAccess.hpp>
37 #include "StorageBridgeFactory.hxx"
39 namespace scripting_runtimemgr
41 // for simplification
42 #define css ::com::sun::star
43 #define dcsssf ::drafts::com::sun::star::script::framework
45 class StorageBridge : public ::cppu::WeakImplHelper1< dcsssf::storage::XScriptInfoAccess >
47 friend class StorageBridgeFactory;
48 public:
49 //XScriptInfoAccess
50 //=========================================================================
51 /**
52 * Get the implementations for a given URI
54 * @param queryURI
55 * The URI to get the implementations for
57 * @return XScriptURI
58 * The URIs of the implementations
60 virtual css::uno::Sequence< css::uno::Reference< dcsssf::storage::XScriptInfo > >
61 SAL_CALL getImplementations(
62 const ::rtl::OUString& queryURI )
63 throw ( css::lang::IllegalArgumentException,
64 css::uno::RuntimeException );
65 //=========================================================================
66 /**
67 * Get the all logical names stored in this storage
69 * @return sequence < ::rtl::OUString >
70 * The logical names
72 virtual css::uno::Sequence< ::rtl::OUString >
73 SAL_CALL getScriptLogicalNames()
74 throw ( css::lang::IllegalArgumentException, css::uno::RuntimeException );
75 private:
76 StorageBridge( const css::uno::Reference< css::uno::XComponentContext >& xContext,
77 sal_Int32 sid );
79 void initStorage() throw ( css::uno::RuntimeException );
80 css::uno::Reference< css::uno::XComponentContext > m_xContext;
81 css::uno::Reference< dcsssf::storage::XScriptInfoAccess > m_xScriptInfoAccess;
82 sal_Int32 m_sid;
86 #endif //_COM_SUN_STAR_SCRIPTING_STORAGEBRIDGE_HXX_
88 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */