Bump for 3.6-28
[LibreOffice.git] / autodoc / source / ary / idl / i_exception.cxx
blobf25ae55ce66aaddd28fa43d111f0a7e61d3b9399
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 ************************************************************************/
29 #include <precomp.h>
30 #include <ary/idl/i_exception.hxx>
31 #include <ary/idl/ik_exception.hxx>
34 // NOT FULLY DECLARED SERVICES
35 #include <cosv/tpl/processor.hxx>
36 #include <sci_impl.hxx>
37 #include "i2s_calculator.hxx"
41 namespace ary
43 namespace idl
46 Exception::Exception( const String & i_sName,
47 Ce_id i_nOwner,
48 Type_id i_nBase )
49 : sName(i_sName),
50 nOwner(i_nOwner),
51 nBase(i_nBase),
52 aElements()
56 Exception::~Exception()
60 void
61 Exception::do_Accept( csv::ProcessorIfc & io_processor ) const
63 csv::CheckedCall(io_processor, *this);
66 ClassId
67 Exception::get_AryClass() const
69 return class_id;
72 const String &
73 Exception::inq_LocalName() const
75 return sName;
78 Ce_id
79 Exception::inq_NameRoom() const
81 return nOwner;
84 Ce_id
85 Exception::inq_Owner() const
87 return nOwner;
90 E_SightLevel
91 Exception::inq_SightLevel() const
93 return sl_File;
97 namespace ifc_exception
100 inline const Exception &
101 exception_cast( const CodeEntity & i_ce )
103 csv_assert( i_ce.AryClass() == Exception::class_id );
104 return static_cast< const Exception& >(i_ce);
107 Type_id
108 attr::Base( const CodeEntity & i_ce )
110 return exception_cast(i_ce).nBase;
113 void
114 attr::Get_Elements( Dyn_CeIterator & o_result,
115 const CodeEntity & i_ce )
117 o_result = new SCI_Vector<Ce_id>( exception_cast(i_ce).aElements );
121 void
122 xref::Get_Derivations( Dyn_CeIterator & o_result,
123 const CodeEntity & i_ce )
125 o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(exception_2s_Derivations));
128 void
129 xref::Get_RaisingFunctions( Dyn_CeIterator & o_result,
130 const CodeEntity & i_ce )
132 o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(exception_2s_RaisingFunctions));
136 } // namespace ifc_exception
139 } // namespace idl
140 } // namespace ary
142 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */