SourceForge.net Logo
VariableTypeStore.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2001-2008
3  * DecisionSoft Limited. All rights reserved.
4  * Copyright (c) 2004-2008
5  * Oracle. All rights reserved.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * 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, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * $Id$
20  */
21 
22 #ifndef _VARIABLETYPESTORE_HPP
23 #define _VARIABLETYPESTORE_HPP
24 
25 #include <xqilla/framework/XQillaExport.hpp>
26 #include <xercesc/util/XercesDefs.hpp>
27 #include <xercesc/util/XMemory.hpp>
28 
29 class SequenceType;
31 class StaticAnalysis;
32 
35 class XQILLA_API VariableTypeStore : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
36 {
37 public:
39  virtual ~VariableTypeStore() {};
40 
42  virtual void clear() = 0;
43 
45  virtual void addLocalScope() = 0;
47  virtual void addLogicalBlockScope() = 0;
50  virtual void removeScope() = 0;
51 
53  virtual void declareGlobalVar(const XMLCh* namespaceURI, const XMLCh* name,
54  const StaticAnalysis &src) = 0;
55 
57  virtual const StaticAnalysis* getGlobalVar(const XMLCh* namespaceURI,
58  const XMLCh* name) const = 0;
59 
62  virtual void declareVar(const XMLCh* namespaceURI, const XMLCh* name,
63  const StaticAnalysis &src) = 0;
64 
68  virtual const StaticAnalysis *getVar(const XMLCh* namespaceURI,
69  const XMLCh* name) const = 0;
70 };
71 
72 #endif