Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
xqilla
functions
ExternalFunction.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 _EXTERNALFUNCTION_HPP
23
#define _EXTERNALFUNCTION_HPP
24
25
#include <xqilla/framework/XQillaExport.hpp>
26
27
#include <xercesc/util/XMLUniDefs.hpp>
28
29
class
Result
;
30
class
PendingUpdateList;
31
class
DynamicContext
;
32
class
XPath2MemoryManager
;
33
34
class
XQILLA_API
ExternalFunction
35
{
36
public
:
37
class
XQILLA_API
Arguments
38
{
39
public
:
40
virtual
~Arguments
() {}
41
43
virtual
Result
getArgument(
size_t
index,
DynamicContext
*context)
const
= 0;
44
};
45
46
virtual
~ExternalFunction
() {}
47
48
const
XMLCh *
getURI
()
const
{
return
uri_; }
49
const
XMLCh *
getName
()
const
{
return
name_; }
50
const
XMLCh *
getURINameHash
()
const
{
return
uriName_; }
51
unsigned
int
getNumberOfArguments
()
const
{
return
numArgs_; }
52
54
virtual
Result
execute(
const
Arguments *args,
DynamicContext
*context)
const
;
56
virtual
PendingUpdateList executeUpdate(
const
Arguments *args,
DynamicContext
*context)
const
;
57
58
protected
:
59
ExternalFunction
(
const
XMLCh *uri,
const
XMLCh *name,
unsigned
int
numberOfArgs,
XPath2MemoryManager
*mm);
60
61
const
XMLCh *
uri_
;
62
const
XMLCh *
name_
;
63
const
XMLCh *
uriName_
;
64
unsigned
int
numArgs_
;
65
};
66
67
#endif
68
ExternalFunction::Arguments
Definition:
ExternalFunction.hpp:37
XPath2MemoryManager
Definition:
XPath2MemoryManager.hpp:47
ExternalFunction::name_
const XMLCh * name_
Definition:
ExternalFunction.hpp:62
ExternalFunction::uri_
const XMLCh * uri_
Definition:
ExternalFunction.hpp:61
ExternalFunction::~ExternalFunction
virtual ~ExternalFunction()
Definition:
ExternalFunction.hpp:46
ExternalFunction::numArgs_
unsigned int numArgs_
Definition:
ExternalFunction.hpp:64
ExternalFunction::getURI
const XMLCh * getURI() const
Definition:
ExternalFunction.hpp:48
ExternalFunction
Definition:
ExternalFunction.hpp:34
Result
A scoped pointer wrapper for the lazily evaluated query result.
Definition:
Result.hpp:39
ExternalFunction::uriName_
const XMLCh * uriName_
Definition:
ExternalFunction.hpp:63
ExternalFunction::Arguments::~Arguments
virtual ~Arguments()
Definition:
ExternalFunction.hpp:40
DynamicContext
The execution time dynamic context interface.
Definition:
DynamicContext.hpp:39
ExternalFunction::getURINameHash
const XMLCh * getURINameHash() const
Definition:
ExternalFunction.hpp:50
ExternalFunction::getName
const XMLCh * getName() const
Definition:
ExternalFunction.hpp:49
ExternalFunction::getNumberOfArguments
unsigned int getNumberOfArguments() const
Definition:
ExternalFunction.hpp:51
Generated by
1.8.5