# VariableTypeStore.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Copyright (c) 2001-2006
    00003  *     DecisionSoft Limited. All rights reserved.
    00004  * Copyright (c) 2004-2006
    00005  *     Progress Software Corporation. All rights reserved.
    00006  * Copyright (c) 2004-2006
    00007  *     Oracle. All rights reserved.
    00008  *
    00009  * See the file LICENSE for redistribution information.
    00010  *
    00011  * $Id: VariableTypeStore.hpp,v 1.8 2006/11/01 16:37:12 jpcs Exp $
    00012  */
    00013
    00014 #ifndef _VARIABLETYPESTORE_HPP
    00015 #define _VARIABLETYPESTORE_HPP
    00016
    00017 #include <xqilla/framework/XQillaExport.hpp>
    00018 #include <xercesc/util/XercesDefs.hpp>
    00019 #include <xercesc/util/XMemory.hpp>
    00020
    00021 class SequenceType;
    00022 class XPath2MemoryManager;
    00023 class StaticResolutionContext;
    00024
    00027 class XQILLA_API VariableTypeStore : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
    00028 {
    00029 public:
    00031   virtual ~VariableTypeStore() {};
    00032
    00034   virtual void clear() = 0;
    00035
    00037   virtual void addLocalScope() = 0;
    00039   virtual void addLogicalBlockScope() = 0;
    00042   virtual void removeScope() = 0;
    00043
    00045   virtual void declareGlobalVar(const XMLCh* namespaceURI, const XMLCh* name,
    00046                                 const StaticResolutionContext &src) = 0;
    00047
    00049   virtual const StaticResolutionContext* getGlobalVar(const XMLCh* namespaceURI,
    00050                                                       const XMLCh* name) const = 0;
    00051
    00054   virtual void declareVar(const XMLCh* namespaceURI, const XMLCh* name,
    00055                           const StaticResolutionContext &src) = 0;
    00056
    00060   virtual const StaticResolutionContext *getVar(const XMLCh* namespaceURI,
    00061                                                 const XMLCh* name) const = 0;
    00062 };
    00063
    00064 #endif