File: classXSECURIResolver.html

package info (click to toggle)
xml-security-c 1.2.1-3
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 24,464 kB
  • ctags: 6,673
  • sloc: cpp: 36,830; xml: 23,415; sh: 2,365; makefile: 340; perl: 221
file content (178 lines) | stat: -rw-r--r-- 9,435 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>XML-Security-C: XSECURIResolver Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>XSECURIResolver Class Reference<br>
<small>
[<a class="el" href="group__pubsig.html">Main Signature API</a>]</small>
</h1><code>#include &lt;<a class="el" href="XSECURIResolver_8hpp-source.html">XSECURIResolver.hpp</a>&gt;</code>
<p>
Inheritance diagram for XSECURIResolver:<p><center><img src="classXSECURIResolver__inherit__graph.png" border="0" usemap="#XSECURIResolver__inherit__map" alt="Inheritance graph"></center>
<map name="XSECURIResolver__inherit__map">
<area href="classXSECURIResolverGenericUnix.html" shape="rect" coords="8,83,216,107" alt="">
<area href="classXSECURIResolverGenericWin32.html" shape="rect" coords="240,83,458,107" alt="">
<area href="classXSECURIResolverXerces.html" shape="rect" coords="482,83,658,107" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXSECURIResolver-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Interface class for resolving URIs. 
<p>
The XML Digital Signature standard makes heavy use of URIs to identify information to be referenced and signed.<p>
The library internally handles reference URIs within the document that contains the signature, but uses URIResolver classes to dereference a URI into a byte stream that can then be processed.<p>
The interface class allows others to re-implement and install their own resolves according to their needs. The basic implementations found in the library are just that - very basic. Enough to do the job for interoperability testing, but not enough to provide robustness in a major application. 
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors and Destructors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSECURIResolver.html#z208_0">XSECURIResolver</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSECURIResolver.html#z208_1">~XSECURIResolver</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader">Interface Methods</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual XERCES_CPP_NAMESPACE_QUALIFIER <br>
BinInputStream *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSECURIResolver.html#z209_0">resolveURI</a> (const XMLCh *uri)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a BYTE_STREAM from a URI.  <a href="#z209_0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXSECURIResolver.html">XSECURIResolver</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSECURIResolver.html#z209_1">clone</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clone the resolver to be installed in a new object.  <a href="#z209_1"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="z208_0" doxytag="XSECURIResolver::XSECURIResolver"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">XSECURIResolver::XSECURIResolver           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="z208_1" doxytag="XSECURIResolver::~XSECURIResolver"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual XSECURIResolver::~XSECURIResolver           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="z209_1" doxytag="XSECURIResolver::clone"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual <a class="el" href="classXSECURIResolver.html">XSECURIResolver</a>* XSECURIResolver::clone           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Clone the resolver to be installed in a new object. 
<p>
When URIResolvers are passed into signatures and other objects, they are cloned and control of the original object is left with the caller. 
<p>
Implemented in <a class="el" href="classXSECURIResolverXerces.html#z211_1">XSECURIResolverXerces</a>, <a class="el" href="classXSECURIResolverGenericUnix.html#z214_1">XSECURIResolverGenericUnix</a>, and <a class="el" href="classXSECURIResolverGenericWin32.html#z217_1">XSECURIResolverGenericWin32</a>.    </td>
  </tr>
</table>
<a class="anchor" name="z209_0" doxytag="XSECURIResolver::resolveURI"></a><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream* XSECURIResolver::resolveURI           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const XMLCh *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>uri</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create a BYTE_STREAM from a URI. 
<p>
The resolver is required to take the input URI and dereference it to an actual stream of octets.<p>
The octets are provided back to the library using the Xerces BinInputStream class.<p>
<dl compact><dt><b>Note:</b></dt><dd>The returned stream is "owned" by the caller, which will delete it when processing is complete. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uri</em>&nbsp;</td><td>The string containing the URI to be de-referenced. NULL if this is an anonymous reference. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The octet stream corresponding to the URI. </dd></dl>

<p>
Implemented in <a class="el" href="classXSECURIResolverXerces.html#z211_0">XSECURIResolverXerces</a>, <a class="el" href="classXSECURIResolverGenericUnix.html#z214_0">XSECURIResolverGenericUnix</a>, and <a class="el" href="classXSECURIResolverGenericWin32.html#z217_0">XSECURIResolverGenericWin32</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XSECURIResolver_8hpp-source.html">XSECURIResolver.hpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun Jul 3 17:46:01 2005 for XML-Security-C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
</body>
</html>