Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _VARIABLETYPESTORE_HPP
00021 #define _VARIABLETYPESTORE_HPP
00022
00023 #include <xqilla/framework/XQillaExport.hpp>
00024 #include <xercesc/util/XercesDefs.hpp>
00025 #include <xercesc/util/XMemory.hpp>
00026
00027 class SequenceType;
00028 class XPath2MemoryManager;
00029 class StaticAnalysis;
00030 class XQGlobalVariable;
00031
00034 class XQILLA_API VariableTypeStore : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
00035 {
00036 public:
00038 virtual ~VariableTypeStore() {};
00039
00041 virtual void clear() = 0;
00042
00044 virtual void addLocalScope() = 0;
00046 virtual void addLogicalBlockScope() = 0;
00049 virtual void removeScope() = 0;
00050
00052 virtual void declareGlobalVar(const XMLCh* namespaceURI, const XMLCh* name,
00053 const StaticAnalysis &src, XQGlobalVariable *global) = 0;
00054
00056 virtual const StaticAnalysis* getGlobalVar(const XMLCh* namespaceURI, const XMLCh* name,
00057 XQGlobalVariable **global = 0) const = 0;
00058
00061 virtual void declareVar(const XMLCh* namespaceURI, const XMLCh* name,
00062 const StaticAnalysis &src) = 0;
00063
00067 virtual const StaticAnalysis *getVar(const XMLCh* namespaceURI, const XMLCh* name,
00068 XQGlobalVariable **global = 0) const = 0;
00069 };
00070
00071 #endif