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 
23 
24 #ifndef ARY_IDL_IK_INTERFACE_HXX
25 #define ARY_IDL_IK_INTERFACE_HXX
26 
27 
28 // USED SERVICES
29     // BASE CLASSES
30 #include <ary/idl/ik_ce.hxx>
31     // COMPONENTS
32     // PARAMETERS
33 
34 
35 namespace ary
36 {
37 namespace idl
38 {
39 class CommentedRelation;
40 
41 namespace ifc_interface
42 {
43 
44 using ifc_ce::Dyn_CeIterator;
45 using ifc_ce::DocText;
46 
47 
48 struct attr: public ifc_ce::attr
49 {
50     static void         Get_Bases(
51                             Dyn_StdConstIterator<CommentedRelation> &
52                                                 o_result,
53                             const CodeEntity &  i_ce );
54     static void         Get_Functions(
55                             Dyn_CeIterator &    o_result,
56                             const CodeEntity &  i_ce );
57     static void         Get_Attributes(
58                             Dyn_CeIterator &    o_result,
59                             const CodeEntity &  i_ce );
60 };
61 
62 struct xref : public ifc_ce::xref
63 {
64     static void         Get_Derivations(
65                             Dyn_CeIterator &    o_result,
66                             const CodeEntity &  i_ce );
67     static void         Get_SynonymTypedefs(     /// like: typedef i_ce.LocalName() newName;
68                             Dyn_CeIterator &    o_result,
69                             const CodeEntity &  i_ce );
70     static void         Get_ExportingServices(
71                             Dyn_CeIterator &    o_result,
72                             const CodeEntity &  i_ce );
73     static void         Get_ExportingSingletons(
74                             Dyn_CeIterator &    o_result,
75                             const CodeEntity &  i_ce );
76     static void         Get_AsReturns(
77                             Dyn_CeIterator &    o_result,
78                             const CodeEntity &  i_ce );
79     static void         Get_AsParameters(
80                             Dyn_CeIterator &    o_result,
81                             const CodeEntity &  i_ce );
82     static void         Get_AsDataTypes(
83                             Dyn_CeIterator &    o_result,
84                             const CodeEntity &  i_ce );
85 
86 #if 0
87     static void         Get_UsingTypedefs(      /// like: typedef sequence<i_ce.LocalName()> newNameSeq;
88                             Dyn_CeIterator &    o_result,
89                             const CodeEntity &  i_ce );
90     static void         Get_AsIndirectReturns(
91                             Dyn_CeIterator &    o_result,
92                             const CodeEntity &  i_ce );
93     static void         Get_AsIndirectParameters(
94                             Dyn_CeIterator &    o_result,
95                             const CodeEntity &  i_ce );
96 #endif // 0
97 };
98 
99 struct doc : public ifc_ce::doc
100 {
101 };
102 
103 }   // namespace ifc_interface
104 
105 }   // namespace idl
106 }   // namespace ary
107 
108 #endif
109