<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Rampart/C: rampart_sec_processed_result.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_2ab6243317ac98a7842daf660931c511.html">include</a>
  </div>
</div>
<div class="contents">
<h1>rampart_sec_processed_result.h File Reference</h1>The module to keep the results after processing the message. <a href="#_details">More...</a>
<p>
<code>#include &lt;axutil_utils_defines.h&gt;</code><br>
<code>#include &lt;axis2_defines.h&gt;</code><br>
<code>#include &lt;axutil_env.h&gt;</code><br>
<code>#include &lt;axis2_msg_ctx.h&gt;</code><br>

<p>
<a href="rampart__sec__processed__result_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rampart__sec__processed__result_8h.html#fc665f7c0de2715344a9df226b31f7f9">rampart_set_security_processed_result</a> (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *key, void *value)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rampart__sec__processed__result_8h.html#564138dbbb3d83f35f7c6b5011dcc8c7">rampart_get_security_processed_result</a> (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *key)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rampart__sec__processed__result_8h.html#79754e88212bbe49c59cf9adefcf278f">rampart_set_security_processed_results_property</a> (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axutil_hash_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rampart__sec__processed__result_8h.html#a06192310e0dfcec29629023b5016236">rampart_get_all_security_processed_results</a> (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rampart__sec__processed__result_8h.html#6e4f20821ff06c66f43921d5592c29cb">rampart_print_security_processed_results_set</a> (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The module to keep the results after processing the message. 
<p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a06192310e0dfcec29629023b5016236"></a><!-- doxytag: member="rampart_sec_processed_result.h::rampart_get_all_security_processed_results" ref="a06192310e0dfcec29629023b5016236" args="(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axutil_hash_t* rampart_get_all_security_processed_results           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the complete set of security processed results  the environment  the message context in which data are extracted <dl class="return" compact><dt><b>Returns:</b></dt><dd>complete set of security processed results. </dd></dl>

</div>
</div><p>
<a class="anchor" name="564138dbbb3d83f35f7c6b5011dcc8c7"></a><!-- doxytag: member="rampart_sec_processed_result.h::rampart_get_security_processed_result" ref="564138dbbb3d83f35f7c6b5011dcc8c7" args="(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_get_security_processed_result           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a security processed result from a message context. A service may use this method to retirieve a particular result by the key  the environment  the message context in which data are extracted  as specified in rampart_constants section SPR <dl class="return" compact><dt><b>Returns:</b></dt><dd>value of the security processed result corresponding to  </dd></dl>

</div>
</div><p>
<a class="anchor" name="6e4f20821ff06c66f43921d5592c29cb"></a><!-- doxytag: member="rampart_sec_processed_result.h::rampart_print_security_processed_results_set" ref="6e4f20821ff06c66f43921d5592c29cb" args="(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void rampart_print_security_processed_results_set           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prints all ke/val pairs in the security processed results. For debugging purposes  the environment  the message context in which data are extracted <dl class="return" compact><dt><b>Returns:</b></dt><dd>void </dd></dl>

</div>
</div><p>
<a class="anchor" name="fc665f7c0de2715344a9df226b31f7f9"></a><!-- doxytag: member="rampart_sec_processed_result.h::rampart_set_security_processed_result" ref="fc665f7c0de2715344a9df226b31f7f9" args="(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *key, void *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_set_security_processed_result           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a security processed result to the message context <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msg_ctx</em>&nbsp;</td><td>message context sttucture </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>key of the security processed result </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value of the security processed result </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="79754e88212bbe49c59cf9adefcf278f"></a><!-- doxytag: member="rampart_sec_processed_result.h::rampart_set_security_processed_results_property" ref="79754e88212bbe49c59cf9adefcf278f" args="(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_set_security_processed_results_property           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a security processed result property to the message context  the environment  the message context in which data are stored/extracted <dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:54 2009 for Rampart/C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
