xref: /AOO41X/main/autodoc/source/parser/cpp/icprivow.cxx (revision 54befb6bcc47df7a34762ec9cc562856b04262b6)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 #include <precomp.h>
23 #include <icprivow.hxx>
24 
25 
26 // NOT FULLY DEFINED SERVICES
27 #include <ary/cpp/c_namesp.hxx>
28 #include <ary/cpp/c_class.hxx>
29 
30 
31 
32 namespace cpp
33 {
34 
35 
36 
37 //******************          Owner_Namespace          ********************//
38 Owner_Namespace::Owner_Namespace()
39     :   pScope(0)
40 {
41 }
42 
43 void
44 Owner_Namespace::SetAnotherNamespace( ary::cpp::Namespace & io_rScope )
45 {
46     pScope = &io_rScope;
47 }
48 
49 bool
50 Owner_Namespace::HasClass( const String & i_sLocalName )
51 {
52     return pScope->Search_LocalClass(i_sLocalName).IsValid();
53 }
54 
55 void
56 Owner_Namespace::do_Add_Class( const String  &     i_sLocalName,
57                                Cid                 i_nId )
58 {
59     csv_assert(pScope != 0);
60     pScope->Add_LocalClass(i_sLocalName, i_nId);
61 }
62 
63 void
64 Owner_Namespace::do_Add_Enum( const String  &     i_sLocalName,
65                               Cid                 i_nId )
66 {
67     csv_assert(pScope != 0);
68     pScope->Add_LocalEnum(i_sLocalName, i_nId);
69 }
70 
71 void
72 Owner_Namespace::do_Add_Typedef( const String  &     i_sLocalName,
73                                  Cid                 i_nId )
74 {
75     csv_assert(pScope != 0);
76     pScope->Add_LocalTypedef(i_sLocalName, i_nId);
77 }
78 
79 void
80 Owner_Namespace::do_Add_Operation( const String  &     i_sLocalName,
81                                    Cid                 i_nId,
82                                    bool                )
83 {
84     csv_assert(pScope != 0);
85     pScope->Add_LocalOperation(i_sLocalName, i_nId);
86 }
87 
88 void
89 Owner_Namespace::do_Add_Variable( const String  &     i_sLocalName,
90                                   Cid                 i_nId,
91                                   bool                i_bIsConst,
92                                   bool                )
93 {
94     csv_assert(pScope != 0);
95     if (i_bIsConst)
96         pScope->Add_LocalConstant(i_sLocalName, i_nId);
97     else
98         pScope->Add_LocalVariable(i_sLocalName, i_nId);
99 }
100 
101 
102 Cid
103 Owner_Namespace::inq_CeId() const
104 {
105     csv_assert(pScope != 0);
106     return pScope->CeId();
107 }
108 
109 
110 //******************            Owner_Class          ********************//
111 
112 Owner_Class::Owner_Class()
113     :   pScope(0)
114 {
115 }
116 
117 void
118 Owner_Class::SetAnotherClass( ary::cpp::Class & io_rScope )
119 {
120     pScope = &io_rScope;
121 }
122 
123 bool
124 Owner_Class::HasClass( const String  & )
125 {
126     return false;
127 }
128 
129 void
130 Owner_Class::do_Add_Class( const String  &     i_sLocalName,
131                                Cid                 i_nId )
132 {
133     csv_assert(pScope != 0);
134     pScope->Add_LocalClass(i_sLocalName, i_nId);
135 }
136 
137 void
138 Owner_Class::do_Add_Enum( const String  &     i_sLocalName,
139                               Cid                 i_nId )
140 {
141     csv_assert(pScope != 0);
142     pScope->Add_LocalEnum(i_sLocalName, i_nId);
143 }
144 
145 void
146 Owner_Class::do_Add_Typedef( const String  &     i_sLocalName,
147                              Cid                 i_nId )
148 {
149     csv_assert(pScope != 0);
150     pScope->Add_LocalTypedef(i_sLocalName, i_nId);
151 }
152 
153 void
154 Owner_Class::do_Add_Operation( const String  &      i_sLocalName,
155                                Cid                  i_nId,
156                                bool                 i_bIsStatic )
157 {
158     csv_assert(pScope != 0);
159     if (i_bIsStatic)
160         pScope->Add_LocalStaticOperation(i_sLocalName, i_nId);
161     else
162         pScope->Add_LocalOperation(i_sLocalName, i_nId);
163 }
164 
165 void
166 Owner_Class::do_Add_Variable( const String  &     i_sLocalName,
167                               Cid                 i_nId,
168                               bool                ,
169                               bool                i_bIsStatic )
170 {
171     csv_assert(pScope != 0);
172     if (i_bIsStatic)
173         pScope->Add_LocalStaticData(i_sLocalName, i_nId);
174     else
175         pScope->Add_LocalData(i_sLocalName, i_nId);
176 }
177 
178 Cid
179 Owner_Class::inq_CeId() const
180 {
181     csv_assert(pScope != 0);
182     return pScope->CeId();
183 }
184 
185 
186 }   // namespace cpp
187