xref: /AOO41X/main/ucb/source/ucp/ftp/ftpcontentidentifier.cxx (revision 2f86921c33504fdff5a030df6c0b258927045abb)
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 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_ucb.hxx"
26 
27 /**************************************************************************
28                                 TODO
29  **************************************************************************
30 
31  *************************************************************************/
32 #include "ftpcontentidentifier.hxx"
33 #include "ftpcontentprovider.hxx"
34 
35 using namespace ftp;
36 using namespace com::sun::star::uno;
37 using namespace com::sun::star::ucb;
38 using namespace com::sun::star::lang;
39 
40 
FTPContentIdentifier(const rtl::OUString & ident)41 FTPContentIdentifier::FTPContentIdentifier(
42     const rtl::OUString& ident
43 )
44     : m_ident(ident)
45 {
46 }
47 
48 
~FTPContentIdentifier()49 FTPContentIdentifier::~FTPContentIdentifier()
50 {
51 }
52 
53 
54 Any SAL_CALL
queryInterface(const Type & rType)55 FTPContentIdentifier::queryInterface(
56     const Type& rType
57 )
58     throw(
59         RuntimeException
60     )
61 {
62     Any aRet =
63         ::cppu::queryInterface(rType,
64                                SAL_STATIC_CAST(XTypeProvider*,this),
65                                SAL_STATIC_CAST(XContentIdentifier*,this));
66 
67     return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
68 }
69 
70 
acquire(void)71 void SAL_CALL FTPContentIdentifier::acquire( void ) throw() {
72     OWeakObject::acquire();
73 }
74 
75 
release(void)76 void SAL_CALL FTPContentIdentifier::release( void ) throw() {
77     OWeakObject::release();
78 }
79 
80 
81 Sequence<sal_Int8> SAL_CALL
getImplementationId()82 FTPContentIdentifier::getImplementationId()
83     throw(RuntimeException)
84 {
85     static cppu::OImplementationId* pId = NULL;
86     if(!pId)
87     {
88         osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
89         if ( !pId )
90         {
91             static cppu::OImplementationId id( sal_False );
92             pId = &id;
93         }
94     }
95     return (*pId).getImplementationId();
96 }
97 
98 
99 Sequence<Type> SAL_CALL
getTypes(void)100 FTPContentIdentifier::getTypes(
101     void )
102     throw(RuntimeException)
103 {
104     static cppu::OTypeCollection* pCollection = NULL;
105     if ( !pCollection ) {
106         osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
107         if ( !pCollection )
108         {
109             static cppu::OTypeCollection collection(
110                 getCppuType(
111                     static_cast<Reference<XTypeProvider>*>(0)),
112                 getCppuType(
113                     static_cast<Reference<XContentIdentifier>*>(0)));
114             pCollection = &collection;
115         }
116     }
117     return (*pCollection).getTypes();
118 }
119 
120 
121 rtl::OUString SAL_CALL
getContentIdentifier()122 FTPContentIdentifier::getContentIdentifier(
123 )
124     throw (
125         com::sun::star::uno::RuntimeException
126     )
127 {
128     return m_ident;
129 }
130 
131 
132 rtl::OUString SAL_CALL
getContentProviderScheme()133 FTPContentIdentifier::getContentProviderScheme(
134 )
135     throw (
136         com::sun::star::uno::RuntimeException
137     )
138 {
139     return rtl::OUString::createFromAscii("ftp");
140 }
141 
142 
143 
144 
145 
146 
147