1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef UCB_UCPEXT_CONTENT_PROVIDER_HXX
25 #define UCB_UCPEXT_CONTENT_PROVIDER_HXX
26 
27 #include <ucbhelper/providerhelper.hxx>
28 
29 //......................................................................................................................
30 namespace ucb { namespace ucp { namespace ext
31 {
32 //......................................................................................................................
33 
34     //==================================================================================================================
35     //= ContentProvider
36     //==================================================================================================================
37     typedef ::ucbhelper::ContentProviderImplHelper  ContentProvider_Base;
38     class ContentProvider : public ContentProvider_Base
39     {
40     public:
41         ContentProvider( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& i_rServiceManager );
42         virtual ~ContentProvider();
43 
44         // XServiceInfo
45         virtual ::rtl::OUString SAL_CALL getImplementationName(  ) throw (::com::sun::star::uno::RuntimeException);
46         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  ) throw (::com::sun::star::uno::RuntimeException);
47 
48         // XServiceInfo - static versions
49         static ::rtl::OUString SAL_CALL getImplementationName_static(  ) throw (::com::sun::star::uno::RuntimeException);
50         static ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames_static() throw (::com::sun::star::uno::RuntimeException);
51         static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL Create( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& i_rContext );
52 
53         // XContentProvider
54         virtual ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContent > SAL_CALL queryContent( const ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContentIdentifier >& Identifier ) throw (::com::sun::star::ucb::IllegalIdentifierException, ::com::sun::star::uno::RuntimeException);
55 
56     public:
57         static ::rtl::OUString getRootURL();
58         static ::rtl::OUString getArtificialNodeContentType();
59     };
60 
61 //......................................................................................................................
62 } } }   // namespace ucb::ucp::ext
63 //......................................................................................................................
64 
65 #endif  // UCB_UCPEXT_CONTENT_PROVIDER_HXX
66