v1.1.0
This commit is contained in:
parent
625a590fae
commit
9b71614762
1556 changed files with 70210 additions and 50502 deletions
60
include/xqilla/functions/ExternalFunction.hpp
Normal file
60
include/xqilla/functions/ExternalFunction.hpp
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (c) 2001-2006
|
||||
* DecisionSoft Limited. All rights reserved.
|
||||
* Copyright (c) 2004-2006
|
||||
* Progress Software Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2006
|
||||
* Oracle. All rights reserved.
|
||||
*
|
||||
* See the file LICENSE for redistribution information.
|
||||
*
|
||||
* $Id: ExternalFunction.hpp,v 1.3 2007/06/18 19:46:58 jpcs Exp $
|
||||
*/
|
||||
|
||||
#ifndef _EXTERNALFUNCTION_HPP
|
||||
#define _EXTERNALFUNCTION_HPP
|
||||
|
||||
#include <xqilla/framework/XQillaExport.hpp>
|
||||
|
||||
#include <xercesc/util/XMLUniDefs.hpp>
|
||||
|
||||
class Result;
|
||||
class PendingUpdateList;
|
||||
class DynamicContext;
|
||||
class XPath2MemoryManager;
|
||||
|
||||
class XQILLA_API ExternalFunction
|
||||
{
|
||||
public:
|
||||
class XQILLA_API Arguments
|
||||
{
|
||||
public:
|
||||
virtual ~Arguments() {}
|
||||
|
||||
/// Return the result for the argument index specified. Arguments indexes are zero based.
|
||||
virtual Result getArgument(unsigned int index, DynamicContext *context) const = 0;
|
||||
};
|
||||
|
||||
virtual ~ExternalFunction() {}
|
||||
|
||||
const XMLCh *getURI() const { return uri_; }
|
||||
const XMLCh *getName() const { return name_; }
|
||||
const XMLCh *getURINameHash() const { return uriName_; }
|
||||
unsigned int getNumberOfArguments() const { return numArgs_; }
|
||||
|
||||
/// Execute the (non-updating) function
|
||||
virtual Result execute(const Arguments *args, DynamicContext *context) const;
|
||||
/// Execute the updating function
|
||||
virtual PendingUpdateList executeUpdate(const Arguments *args, DynamicContext *context) const;
|
||||
|
||||
protected:
|
||||
ExternalFunction(const XMLCh *uri, const XMLCh *name, unsigned int numberOfArgs, XPath2MemoryManager *mm);
|
||||
|
||||
const XMLCh *uri_;
|
||||
const XMLCh *name_;
|
||||
const XMLCh *uriName_;
|
||||
unsigned int numArgs_;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue