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())

### enum MilterAgentError

    typedef enum {
        MILTER_AGENT_ERROR_IO_ERROR,
        MILTER_AGENT_ERROR_DECODE_ERROR,
        MILTER_AGENT_ERROR_NO_EVENT_LOOP_ERROR
    } MilterAgentError;

### struct MilterAgent

    struct MilterAgent;

### milter_agent_error_quark ()

    GQuark              milter_agent_error_quark            (void);

### milter_agent_get_encoder ()

    MilterEncoder *     milter_agent_get_encoder            (MilterAgent *agent);

### milter_agent_get_decoder ()

    MilterDecoder *     milter_agent_get_decoder            (MilterAgent *agent);

### milter_agent_set_writer ()

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

### milter_agent_set_reader ()

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

### milter_agent_write_packet ()

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

### milter_agent_flush ()

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

### milter_agent_start ()

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

### milter_agent_shutdown ()

    void                milter_agent_shutdown               (MilterAgent *agent);