fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / source / display / idl / hi_ary.hxx
blob636e35c7fe2b62f505e5f869790d9e81489c1786
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 ADC_DISPLAY_HI_ARY_HXX
21 #define ADC_DISPLAY_HI_ARY_HXX
24 // USED SERVICES
25 // BASE CLASSES
26 // COMPONENTS
27 #include <ary/idl/i_types4idl.hxx>
28 // PARAMETERS
29 #include <ary/idl/i_gate.hxx>
30 #include <ary/doc/d_docu.hxx>
31 #include <ary/doc/d_oldidldocu.hxx>
34 namespace ary
36 namespace idl
38 class Module;
39 class Gate;
40 class CePilot;
41 class TypePilot;
48 inline const ary::doc::OldIdlDocu *
49 Get_IdlDocu(const ary::doc::Documentation & i_doc)
51 return dynamic_cast< const ary::doc::OldIdlDocu* >(i_doc.Data());
58 /** A helper class to wrap the access to data in the Autodoc Repository.
60 class AryAccess
62 public:
63 // LIFECYCLE
64 AryAccess(
65 const ary::idl::Gate &
66 i_rGate );
67 // INQUIRY
68 const ary::idl::Module &
69 GlobalNamespace() const;
70 const ary::idl::Module &
71 Find_Module(
72 ary::idl::Ce_id i_ce ) const;
73 const ary::idl::CodeEntity &
74 Find_Ce(
75 ary::idl::Ce_id i_ce ) const;
76 const ary::idl::Type &
77 Find_Type(
78 ary::idl::Type_id i_type ) const;
79 ary::idl::Ce_id CeFromType(
80 ary::idl::Type_id i_type ) const;
81 bool IsBuiltInOrRelated(
82 const ary::idl::Type &
83 i_type ) const;
84 bool Search_Ce(
85 StringVector & o_module,
86 String & o_mainEntity,
87 String & o_memberEntity,
88 const char * i_sText,
89 const ary::idl::Module &
90 i_referingScope ) const;
91 bool Search_CesModule(
92 StringVector & o_module,
93 const String & i_scope,
94 const String & i_ce,
95 const ary::idl::Module &
96 i_referingScope ) const;
97 const ary::idl::Module *
98 Search_Module(
99 const StringVector &
100 i_nameChain ) const;
102 void Get_CeText(
103 StringVector & o_module,
104 String & o_ce,
105 String & o_member,
106 const ary::idl::CodeEntity &
107 i_ce ) const;
108 void Get_TypeText(
109 StringVector & o_module,
110 String & o_sCe,
111 ary::idl::Ce_id & o_nCe,
112 int & o_sequenceCount,
113 const ary::idl::Type &
114 i_type ) const;
115 void Get_IndexData(
116 std::vector<ary::idl::Ce_id> &
117 o_data,
118 ary::idl::alphabetical_index::E_Letter
119 i_letter ) const;
121 const ary::idl::CePilot &
122 Ces() const;
123 private:
124 const ary::idl::Module *
125 find_SubModule(
126 const ary::idl::Module &
127 i_parent,
128 const String & i_name ) const;
130 /// Gets "::"-separated names out of a string.
131 bool nextName(
132 const char * & io_TextPtr,
133 String & o_name ) const;
136 const ary::idl::Gate &
137 gate() const;
138 const ary::idl::CePilot &
139 ces() const;
140 const ary::idl::TypePilot &
141 types() const;
142 // DATA
143 const ary::idl::Gate &
144 rGate;
148 #endif
151 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */