/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_stoc.hxx" #include "base.hxx" namespace stoc_rdbtdp { TypedefTypeDescriptionImpl::~TypedefTypeDescriptionImpl() { g_moduleCount.modCnt.release( &g_moduleCount.modCnt ); } // XTypeDescription //__________________________________________________________________________________________________ TypeClass TypedefTypeDescriptionImpl::getTypeClass() throw(::com::sun::star::uno::RuntimeException) { return TypeClass_TYPEDEF; } //__________________________________________________________________________________________________ OUString TypedefTypeDescriptionImpl::getName() throw(::com::sun::star::uno::RuntimeException) { return _aName; } // XIndirectTypeDescription //__________________________________________________________________________________________________ Reference< XTypeDescription > TypedefTypeDescriptionImpl::getReferencedType() throw(::com::sun::star::uno::RuntimeException) { if (!_xRefTD.is() && _aRefName.getLength()) { try { Reference< XTypeDescription > xRefTD; if (_xTDMgr->getByHierarchicalName( _aRefName ) >>= xRefTD) { MutexGuard aGuard( getMutex() ); if (! _xRefTD.is()) _xRefTD = xRefTD; return _xRefTD; } } catch (NoSuchElementException &) { } // never try again, if no base td was found _aRefName = OUString(); } return _xRefTD; } }