Bump for 3.6-28
[LibreOffice.git] / autodoc / inc / ary / idl / i_ce.hxx
blobe2d0dce21007340049d055e90ed33d82f7458cf1
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 #ifndef ARY_IDL_I_CE_HXX
30 #define ARY_IDL_I_CE_HXX
32 // BASE CLASSES
33 #include <ary/entity.hxx>
34 // USED SERVICES
35 #include <ary/doc/d_docu.hxx>
36 #include <ary/idl/i_ce2s.hxx>
37 #include <ary/idl/i_types4idl.hxx>
44 namespace ary
46 namespace idl
50 /** @resp Base class for all IDL code entities.
52 A @->CodeEntity is a namespace, type, data or function, which occures in
53 the parsed UNO IDL code and is described and/or commented within the
54 Autodoc repository.
56 This is a storage base class, where more special classes are
57 derived from.
59 class CodeEntity : public ary::Entity
61 public:
62 // LIFECYCLE
63 virtual ~CodeEntity();
65 // OPERATION
67 // INQUIRY
68 Ce_id CeId() const { return Ce_id(Id()); }
69 const String & LocalName() const;
70 Ce_id NameRoom() const;
71 Ce_id Owner() const;
72 E_SightLevel SightLevel() const;
74 const ary::doc::Documentation &
75 Docu() const;
76 const Ce_2s & Secondaries() const;
78 static const CodeEntity &
79 Null_();
80 // ACCESS
81 void Set_Docu(
82 DYN ary::doc::Node &
83 pass_data );
84 Ce_2s & Secondaries();
86 protected:
87 CodeEntity();
88 private:
89 // Locals
90 virtual const String & inq_LocalName() const = 0;
91 virtual Ce_id inq_NameRoom() const = 0;
92 virtual Ce_id inq_Owner() const = 0;
93 virtual E_SightLevel inq_SightLevel() const = 0;
95 // DATA
96 ary::doc::Documentation
97 aDocu;
98 Dyn<Ce_2s> p2s;
104 // IMPLEMENTATION
105 inline const String &
106 CodeEntity::LocalName() const
107 { return inq_LocalName(); }
109 inline Ce_id
110 CodeEntity::NameRoom() const
111 { return inq_NameRoom(); }
113 inline Ce_id
114 CodeEntity::Owner() const
115 { return inq_Owner(); }
117 inline E_SightLevel
118 CodeEntity::SightLevel() const
119 { return inq_SightLevel(); }
121 inline const ary::doc::Documentation &
122 CodeEntity::Docu() const
123 { return aDocu; }
125 inline void
126 CodeEntity::Set_Docu(DYN ary::doc::Node & pass_data)
128 aDocu.Set_Data(pass_data);
134 } // namespace idl
135 } // namespace ary
136 #endif
138 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */