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_INFO_DOCSTORE_HXX
25 #define ARY_INFO_DOCSTORE_HXX
26
27
28
29 // USED SERVICES
30 // BASE CLASSES
31 // COMPONENTS
32 // PARAMETERS
33 #include <ary/info/inftypes.hxx>
34
35 namespace ary
36 {
37 namespace doc
38 {
39 class Node;
40 }
41
42
43
44 namespace info
45 {
46
47 class DocuStore
48 {
49 public:
~DocuStore()50 virtual ~DocuStore() {}
51
52 void Store2CurFile(
53 DYN doc::Node & let_drDocu );
54 void Store2CurNamespace(
55 DYN doc::Node & let_drDocu );
56
57 void Store2ConnectedDeclaration(
58 DYN doc::Node & let_drDocu );
59
60 void Store2Glossary(
61 DYN doc::Node & let_drDocu,
62 const String & i_sExplainedTerm );
63 void Store2GlobalTexts(
64 DYN doc::Node & let_drDocu,
65 ary::info::GlobalTextId
66 i_nId );
67 private:
68 virtual void do_Store2CurFile(
69 DYN doc::Node & let_drDocu ) = 0;
70 virtual void do_Store2CurNamespace(
71 DYN doc::Node & let_drDocu ) = 0;
72
73 virtual void do_Store2ConnectedDeclaration(
74 DYN doc::Node & let_drDocu ) = 0;
75
76 virtual void do_Store2Glossary(
77 DYN doc::Node & let_drDocu,
78 const String & i_sExplainedTerm ) = 0;
79 virtual void do_Store2GlobalTexts(
80 DYN doc::Node & let_drDocu,
81 ary::info::GlobalTextId
82 i_nId ) = 0;
83 };
84
85
86
87
88 // IMPLEMENTATION
89 inline void
Store2CurFile(DYN doc::Node & let_drDocu)90 DocuStore::Store2CurFile( DYN doc::Node & let_drDocu )
91 { do_Store2CurFile(let_drDocu); }
92 inline void
Store2CurNamespace(DYN doc::Node & let_drDocu)93 DocuStore::Store2CurNamespace( DYN doc::Node & let_drDocu )
94 { do_Store2CurNamespace(let_drDocu); }
95 inline void
Store2ConnectedDeclaration(DYN doc::Node & let_drDocu)96 DocuStore::Store2ConnectedDeclaration( DYN doc::Node & let_drDocu )
97 { do_Store2ConnectedDeclaration(let_drDocu); }
98 inline void
Store2Glossary(DYN doc::Node & let_drDocu,const String & i_sExplainedTerm)99 DocuStore::Store2Glossary( DYN doc::Node & let_drDocu,
100 const String & i_sExplainedTerm )
101 { do_Store2Glossary(let_drDocu, i_sExplainedTerm); }
102 inline void
Store2GlobalTexts(DYN doc::Node & let_drDocu,ary::info::GlobalTextId i_nId)103 DocuStore::Store2GlobalTexts( DYN doc::Node & let_drDocu,
104 ary::info::GlobalTextId i_nId )
105 { do_Store2GlobalTexts(let_drDocu, i_nId); }
106
107
108
109
110 } // namespace info
111 } // namespace ary
112 #endif
113