fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / inc / ary / idl / i_module.hxx
blob53266c6120631903cefd2f7b652dc531a45927ff
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef ARY_IDL_I_MODULE_HXX
21 #define ARY_IDL_I_MODULE_HXX
23 // BASE CLASSES
24 #include <ary/idl/i_ce.hxx>
26 // USED SERVICES
27 #include <ary/stdconstiter.hxx>
32 namespace ary
34 template <class> class NameTreeNode;
36 namespace idl
38 namespace ifc_module
40 struct attr;
44 /** Represents an IDL module.
46 "Name" in methods means all code entities which belong into
47 this namespace (not in a subnamespace of this one), but not
48 to the subnamespaces.
50 "SubNamespace" in method names refers to all direct subnamespaces.
52 class Module : public CodeEntity
54 public:
55 enum E_ClassId { class_id = 2000 };
57 // LIFECYCLE
58 Module();
59 Module(
60 const String & i_sName,
61 const Module & i_rParent );
62 ~Module();
63 // OPERATIONS
64 void Add_Name(
65 const String & i_sName,
66 Ce_id i_nId );
67 // INQUIRY
68 Ce_id Search_Name(
69 const String & i_sName ) const;
70 void Get_Names(
71 Dyn_StdConstIterator<Ce_id> &
72 o_rResult ) const;
73 private:
74 // Interface csv::ConstProcessorClient:
75 virtual void do_Accept(
76 csv::ProcessorIfc & io_processor ) const;
77 // Interface ary::Object:
78 virtual ClassId get_AryClass() const;
80 // Interface CodeEntity
81 virtual const String & inq_LocalName() const;
82 virtual Ce_id inq_NameRoom() const;
83 virtual Ce_id inq_Owner() const;
84 virtual E_SightLevel inq_SightLevel() const;
86 friend struct ifc_module::attr;
88 // DATA
89 Dyn< NameTreeNode<Ce_id> >
90 pImpl;
94 inline bool
95 is_Module( const CodeEntity & i_rCe )
97 return i_rCe.AryClass() == Module::class_id;
103 } // namespace idl
104 } // namespace ary
105 #endif
107 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */