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
Generated by
1.8.1.1