Main Page | Modules | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

DSIGXPathHere.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2002-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * imitations under the License.
00015  */
00016 
00017 /*
00018  * XSEC
00019  *
00020  * DSIGXPathHere := Implementation of the "here()" XPath function.
00021  *
00022  * $Id: DSIGXPathHere.hpp,v 1.8 2004/03/07 03:20:51 blautenb Exp $
00023  *
00024  */
00025 
00026 #include <xsec/framework/XSECDefs.hpp>
00027 
00028 #include <xercesc/util/PlatformUtils.hpp>
00029 
00030 #ifndef XSEC_NO_XALAN
00031 
00032 #if defined(_MSC_VER)
00033 #   pragma warning(disable: 4267)
00034 #endif
00035 
00036 #include <xalanc/Include/PlatformDefinitions.hpp>
00037 #include <xalanc/XalanTransformer/XalanTransformer.hpp>
00038 #include <xalanc/XPath/XObjectFactory.hpp>
00039 #include <xalanc/XalanDOM/XalanElement.hpp>
00040 #include <xalanc/XalanDOM/XalanNode.hpp>
00041 #include <xalanc/XalanDOM/XalanDocument.hpp>
00042 #include <xalanc/XPath/Function.hpp>
00043 #include <xalanc/XPath/XObjectTypeCallback.hpp>
00044 #include <xalanc/XPath/MutableNodeRefList.hpp>
00045 #include <xalanc/XPath/NodeRefListBase.hpp>
00046 
00047 #if defined(_MSC_VER)
00048 #   pragma warning(default: 4267)
00049 #endif
00050 
00051 // Namespace usage
00052 
00053 XALAN_USING_XALAN(Function);
00054 XALAN_USING_XALAN(XalanNode);
00055 XALAN_USING_XALAN(XPathExecutionContext);
00056 XALAN_USING_XALAN(XalanDOMString);
00057 XALAN_USING_XALAN(XObjectPtr);
00058 XALAN_USING_XALAN(StaticStringToDOMString);
00059 
00060 XSEC_USING_XERCES(Locator);
00061 
00062 #endif
00063 
00064 #ifndef XSEC_NO_XPATH
00065 
00066 // If there is no XPath then let's not even bother with this class.
00067 
00068 class DSIGXPathHere : public Function {
00069 
00070 private:
00071 
00072     XalanNode * XalanHereNode;
00073 
00074 public:
00075 
00076     typedef Function    ParentType;
00077 
00078     DSIGXPathHere();
00079     DSIGXPathHere(XalanNode *here);
00080 
00081     virtual
00082     ~DSIGXPathHere();
00083 
00084     // These methods are inherited from Function ...
00085 
00086     virtual XObjectPtr
00087     execute(
00088             XPathExecutionContext&  executionContext,
00089             XalanNode*              context,
00090             //const XObjectPtr      arg1,
00091             const LocatorType*      locator) const;
00092 
00093 #if !defined(XALAN_NO_USING_DECLARATION)
00094     using ParentType::execute;
00095 #endif
00096 
00097 #if defined(XSEC_NO_COVARIANT_RETURN_TYPE)
00098     virtual Function*
00099 #else
00100     virtual DSIGXPathHere*
00101 #endif
00102     clone() const;
00103 
00104 protected:
00105 
00106     const XalanDOMString
00107     getError() const;
00108 
00109 private:
00110 
00111     // Not implemented...
00112     DSIGXPathHere&
00113     operator=(const DSIGXPathHere&);
00114 
00115     bool
00116     operator==(const DSIGXPathHere&) const;
00117 };
00118 
00119 #endif
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 

Generated on Sun Mar 14 20:20:35 2004 for XML-Security-C by doxygen 1.3.2