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 25 // MARKER(update_precomp.py): autogen include statement, do not remove 26 #include "precompiled_ucb.hxx" 27 #include <com/sun/star/ucb/UnsupportedNameClashException.hpp> 28 #include <com/sun/star/ucb/NameClash.hpp> 29 #include "ftpintreq.hxx" 30 31 using namespace cppu; 32 using namespace com::sun::star; 33 using namespace com::sun::star::uno; 34 using namespace com::sun::star::lang; 35 using namespace com::sun::star::ucb; 36 using namespace com::sun::star::task; 37 using namespace ftp; 38 39 40 XInteractionApproveImpl::XInteractionApproveImpl() 41 : m_bSelected(false) 42 { 43 } 44 45 46 void SAL_CALL 47 XInteractionApproveImpl::acquire( void ) 48 throw() 49 { 50 OWeakObject::acquire(); 51 } 52 53 54 void SAL_CALL 55 XInteractionApproveImpl::release( void ) 56 throw() 57 { 58 OWeakObject::release(); 59 } 60 61 62 63 Any SAL_CALL 64 XInteractionApproveImpl::queryInterface( const Type& rType ) 65 throw( RuntimeException ) 66 { 67 Any aRet = cppu::queryInterface( 68 rType, 69 SAL_STATIC_CAST( lang::XTypeProvider*, this ), 70 SAL_STATIC_CAST( XInteractionApprove*,this) ); 71 return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ); 72 } 73 74 75 ////////////////////////////////////////////////////////////////////////////// 76 // XTypeProvider 77 ////////////////////////////////////////////////////////////////////////////// 78 79 XTYPEPROVIDER_IMPL_2( XInteractionApproveImpl, 80 XTypeProvider, 81 XInteractionApprove ) 82 83 84 void SAL_CALL XInteractionApproveImpl::select() 85 throw (RuntimeException) 86 { 87 m_bSelected = true; 88 } 89 90 91 bool XInteractionApproveImpl::isSelected() const 92 { 93 return m_bSelected; 94 } 95 96 97 // XInteractionDisapproveImpl 98 99 XInteractionDisapproveImpl::XInteractionDisapproveImpl() 100 : m_bSelected(false) 101 { 102 } 103 104 105 void SAL_CALL 106 XInteractionDisapproveImpl::acquire( void ) 107 throw() 108 { 109 OWeakObject::acquire(); 110 } 111 112 113 void SAL_CALL 114 XInteractionDisapproveImpl::release( void ) 115 throw() 116 { 117 OWeakObject::release(); 118 } 119 120 121 122 Any SAL_CALL 123 XInteractionDisapproveImpl::queryInterface( const Type& rType ) 124 throw( RuntimeException ) 125 { 126 Any aRet = cppu::queryInterface( 127 rType, 128 SAL_STATIC_CAST( lang::XTypeProvider*, this ), 129 SAL_STATIC_CAST( XInteractionDisapprove*,this) ); 130 return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ); 131 } 132 133 134 ////////////////////////////////////////////////////////////////////////////// 135 // XTypeProvider 136 ////////////////////////////////////////////////////////////////////////////// 137 138 XTYPEPROVIDER_IMPL_2( XInteractionDisapproveImpl, 139 XTypeProvider, 140 XInteractionDisapprove ) 141 142 143 void SAL_CALL XInteractionDisapproveImpl::select() 144 throw (RuntimeException) 145 146 { 147 m_bSelected = true; 148 } 149 150 151 // XInteractionRequestImpl 152 153 XInteractionRequestImpl::XInteractionRequestImpl(const rtl::OUString& aName) 154 : p1( new XInteractionApproveImpl ), 155 p2( new XInteractionDisapproveImpl ), 156 m_aName(aName), 157 m_aSeq( 2 ) 158 { 159 m_aSeq[0] = Reference<XInteractionContinuation>(p1); 160 m_aSeq[1] = Reference<XInteractionContinuation>(p2); 161 } 162 163 164 void SAL_CALL 165 XInteractionRequestImpl::acquire( void ) 166 throw() 167 { 168 OWeakObject::acquire(); 169 } 170 171 172 173 void SAL_CALL 174 XInteractionRequestImpl::release( void ) 175 throw() 176 { 177 OWeakObject::release(); 178 } 179 180 181 182 Any SAL_CALL 183 XInteractionRequestImpl::queryInterface( const Type& rType ) 184 throw( RuntimeException ) 185 { 186 Any aRet = cppu::queryInterface( 187 rType, 188 SAL_STATIC_CAST( lang::XTypeProvider*, this ), 189 SAL_STATIC_CAST( XInteractionRequest*,this) ); 190 return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ); 191 } 192 193 194 ////////////////////////////////////////////////////////////////////////////// 195 // XTypeProvider 196 ///////////////////////////////////////////////////////////////////////////// 197 198 XTYPEPROVIDER_IMPL_2( XInteractionRequestImpl, 199 XTypeProvider, 200 XInteractionRequest ) 201 202 203 Any SAL_CALL XInteractionRequestImpl::getRequest( ) 204 throw (RuntimeException) 205 { 206 Any aAny; 207 UnsupportedNameClashException excep; 208 excep.NameClash = NameClash::ERROR; 209 aAny <<= excep; 210 return aAny; 211 } 212 213 214 Sequence<Reference<XInteractionContinuation > > SAL_CALL 215 XInteractionRequestImpl::getContinuations( ) 216 throw (RuntimeException) 217 { 218 return m_aSeq; 219 } 220 221 222 bool XInteractionRequestImpl::approved() const 223 { 224 return p1->isSelected(); 225 } 226 227