MilterAgent 3 milter managerライブラリ
MilterAgent

## 概要

    #define             MILTER_AGENT_ERROR
    enum                MilterAgentError;
    struct              MilterAgent;
    GQuark              milter_agent_error_quark            (void);
    MilterEncoder *     milter_agent_get_encoder            (MilterAgent *agent);
    MilterDecoder *     milter_agent_get_decoder            (MilterAgent *agent);
    void                milter_agent_set_writer             (MilterAgent *agent,
                                                             MilterWriter *writer);
    void                milter_agent_set_reader             (MilterAgent *agent,
                                                             MilterReader *reader);
    gboolean            milter_agent_write_packet           (MilterAgent *agent,
                                                             const char *packet,
                                                             gsize packet_size,
                                                             GError **error);
    gboolean            milter_agent_flush                  (MilterAgent *agent,
                                                             GError **error);
    gboolean            milter_agent_start                  (MilterAgent *agent,
                                                             GError **error);
    void                milter_agent_shutdown               (MilterAgent *agent);

## オブジェクト階層

      GObject
       +----MilterAgent
             +----MilterProtocolAgent

## 実装されたインターフェイス

MilterAgentはMilterErrorEmittableとMilterFinishedEmittableを実装しています。

## 説明

## 詳細

### MILTER_AGENT_ERROR

    #define MILTER_AGENT_ERROR           (milter_agent_error_quark())

MILTER_AGENT_ERROR

### enum MilterAgentError

    typedef enum {
        MILTER_AGENT_ERROR_IO_ERROR,
        MILTER_AGENT_ERROR_DECODE_ERROR,
        MILTER_AGENT_ERROR_NO_EVENT_LOOP_ERROR
    } MilterAgentError;

`MILTER_AGENT_ERROR_IO_ERROR`

`MILTER_AGENT_ERROR_DECODE_ERROR`

`MILTER_AGENT_ERROR_NO_EVENT_LOOP_ERROR`

MilterAgentError

### struct MilterAgent

    struct MilterAgent;

MilterAgent

### milter_agent_error_quark ()

    GQuark              milter_agent_error_quark            (void);

milter_agent_error_quark

### milter_agent_get_encoder ()

    MilterEncoder *     milter_agent_get_encoder            (MilterAgent *agent);

milter_agent_get_encoder

### milter_agent_get_decoder ()

    MilterDecoder *     milter_agent_get_decoder            (MilterAgent *agent);

milter_agent_get_decoder

### milter_agent_set_writer ()

    void                milter_agent_set_writer             (MilterAgent *agent,
                                                             MilterWriter *writer);

milter_agent_set_writer

### milter_agent_set_reader ()

    void                milter_agent_set_reader             (MilterAgent *agent,
                                                             MilterReader *reader);

milter_agent_set_reader

### milter_agent_write_packet ()

    gboolean            milter_agent_write_packet           (MilterAgent *agent,
                                                             const char *packet,
                                                             gsize packet_size,
                                                             GError **error);

milter_agent_write_packet

### milter_agent_flush ()

    gboolean            milter_agent_flush                  (MilterAgent *agent,
                                                             GError **error);

milter_agent_flush

### milter_agent_start ()

    gboolean            milter_agent_start                  (MilterAgent *agent,
                                                             GError **error);

milter_agent_start

### milter_agent_shutdown ()

    void                milter_agent_shutdown               (MilterAgent *agent);

milter_agent_shutdown