<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="MilterProtocolAgent">
<refmeta>
<refentrytitle role="top_of_page" id="MilterProtocolAgent.top_of_page">MilterProtocolAgent</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>milter managerライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname>MilterProtocolAgent</refname>
<refpurpose/>
</refnamediv>

<refsynopsisdiv id="MilterProtocolAgent.synopsis" role="synopsis">
<title role="synopsis.title">概要</title>

<synopsis>                    <link linkend="MilterProtocolAgent-struct">MilterProtocolAgent</link>;
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-protocol-agent-set-macro-context">milter_protocol_agent_set_macro_context</link>
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-protocol-agent-set-macros">milter_protocol_agent_set_macros</link>    (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *macro_name,
                                                         ...);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-protocol-agent-set-macros-hash-table">milter_protocol_agent_set_macros_hash_table</link>
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context,
                                                         <link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> *macros);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-protocol-agent-set-macro">milter_protocol_agent_set_macro</link>     (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *macro_name,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *macro_value);
<link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> *        <link linkend="milter-protocol-agent-get-macros">milter_protocol_agent_get_macros</link>    (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent);
<link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> *        <link linkend="milter-protocol-agent-get-available-macros">milter_protocol_agent_get_available_macros</link>
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent);
const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *       <link linkend="milter-protocol-agent-get-macro">milter_protocol_agent_get_macro</link>     (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *name);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-protocol-agent-clear-macros">milter_protocol_agent_clear_macros</link>  (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context);
<link linkend="void"><returnvalue>void</returnvalue></link>                <link linkend="milter-protocol-agent-set-macros-requests">milter_protocol_agent_set_macros_requests</link>
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterMacrosRequests"><returnvalue>MilterMacrosRequests</returnvalue></link> *requests);
<link linkend="MilterMacrosRequests"><returnvalue>MilterMacrosRequests</returnvalue></link> * <link linkend="milter-protocol-agent-get-macros-requests">milter_protocol_agent_get_macros_requests</link>
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent);
</synopsis>
</refsynopsisdiv>
<refsect1 id="MilterProtocolAgent.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">オブジェクト階層</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="MilterAgent">MilterAgent</link>
         +----MilterProtocolAgent
               +----<link linkend="MilterClientContext">MilterClientContext</link>
               +----<link linkend="MilterServerContext">MilterServerContext</link>
</synopsis>
</refsect1>
<refsect1 id="MilterProtocolAgent.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">実装されたインターフェイス</title>
<para>MilterProtocolAgentは<link linkend="MilterErrorEmittable">MilterErrorEmittable</link>と<link linkend="MilterFinishedEmittable">MilterFinishedEmittable</link>を実装しています。</para>
</refsect1>

<refsect1 id="MilterProtocolAgent.description" role="desc">
<title role="desc.title">説明</title>
<para>
</para>
</refsect1>
<refsect1 id="MilterProtocolAgent.details" role="details">
<title role="details.title">詳細</title>
<refsect2 id="MilterProtocolAgent-struct" role="struct">
<title>MilterProtocolAgent</title>
<indexterm zone="MilterProtocolAgent-struct"><primary>MilterProtocolAgent</primary></indexterm>
<programlisting>typedef struct _MilterProtocolAgent MilterProtocolAgent;</programlisting>
<para>
</para></refsect2>
<refsect2 id="milter-protocol-agent-set-macro-context" role="function">
<title>milter_protocol_agent_set_macro_context ()</title>
<indexterm zone="milter-protocol-agent-set-macro-context"><primary>milter_protocol_agent_set_macro_context</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_protocol_agent_set_macro_context
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_context</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-set-macros" role="function">
<title>milter_protocol_agent_set_macros ()</title>
<indexterm zone="milter-protocol-agent-set-macros"><primary>milter_protocol_agent_set_macros</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_protocol_agent_set_macros    (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *macro_name,
                                                         ...);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_context</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_name</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-set-macros-hash-table" role="function">
<title>milter_protocol_agent_set_macros_hash_table ()</title>
<indexterm zone="milter-protocol-agent-set-macros-hash-table"><primary>milter_protocol_agent_set_macros_hash_table</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_protocol_agent_set_macros_hash_table
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context,
                                                         <link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> *macros);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_context</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macros</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-set-macro" role="function">
<title>milter_protocol_agent_set_macro ()</title>
<indexterm zone="milter-protocol-agent-set-macro"><primary>milter_protocol_agent_set_macro</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_protocol_agent_set_macro     (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *macro_name,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *macro_value);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_context</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_name</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_value</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-get-macros" role="function">
<title>milter_protocol_agent_get_macros ()</title>
<indexterm zone="milter-protocol-agent-get-macros"><primary>milter_protocol_agent_get_macros</primary></indexterm>
<programlisting><link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> *        milter_protocol_agent_get_macros    (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-get-available-macros" role="function">
<title>milter_protocol_agent_get_available_macros ()</title>
<indexterm zone="milter-protocol-agent-get-available-macros"><primary>milter_protocol_agent_get_available_macros</primary></indexterm>
<programlisting><link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> *        milter_protocol_agent_get_available_macros
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-get-macro" role="function">
<title>milter_protocol_agent_get_macro ()</title>
<indexterm zone="milter-protocol-agent-get-macro"><primary>milter_protocol_agent_get_macro</primary></indexterm>
<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *       milter_protocol_agent_get_macro     (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> *name);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-clear-macros" role="function">
<title>milter_protocol_agent_clear_macros ()</title>
<indexterm zone="milter-protocol-agent-clear-macros"><primary>milter_protocol_agent_clear_macros</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_protocol_agent_clear_macros  (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterCommand"><returnvalue>MilterCommand</returnvalue></link> macro_context);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>macro_context</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-set-macros-requests" role="function">
<title>milter_protocol_agent_set_macros_requests ()</title>
<indexterm zone="milter-protocol-agent-set-macros-requests"><primary>milter_protocol_agent_set_macros_requests</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link>                milter_protocol_agent_set_macros_requests
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent,
                                                         <link linkend="MilterMacrosRequests"><returnvalue>MilterMacrosRequests</returnvalue></link> *requests);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>requests</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="milter-protocol-agent-get-macros-requests" role="function">
<title>milter_protocol_agent_get_macros_requests ()</title>
<indexterm zone="milter-protocol-agent-get-macros-requests"><primary>milter_protocol_agent_get_macros_requests</primary></indexterm>
<programlisting><link linkend="MilterMacrosRequests"><returnvalue>MilterMacrosRequests</returnvalue></link> * milter_protocol_agent_get_macros_requests
                                                        (<link linkend="MilterProtocolAgent"><returnvalue>MilterProtocolAgent</returnvalue></link> *agent);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>agent</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>返値</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

</refentry>
