### Interface

# Camel JunkFilter

since: 3.2

#### Description

    interface Camel.JunkFilter : GObject.Object

No description available.

Available since: 3.2

#### Prerequisite

In order to implement JunkFilter, your type must inherit from`GObject`.

#### Instance methods

###### camel_junk_filter_classify

Classifies `message` as junk, not junk or inconclusive.

since: 3.2

###### camel_junk_filter_learn_junk

Instructs `junk_filter` to classify `message` as junk. If using an adaptive junk filtering algorithm, explicitly marking `message` as junk will influence the classification of future messages.

since: 3.2

###### camel_junk_filter_learn_not_junk

Instructs `junk_filter` to classify `message` as not junk. If using an adaptive junk filtering algorithm, explicitly marking `message` as not junk will influence the classification of future messages.

since: 3.2

###### camel_junk_filter_synchronize

Instructs `junk_filter` to flush any in-memory caches to disk, if applicable. When filtering many messages, delaying this step until all messages have been classified can improve performance.

since: 3.2

#### Interface structure

    struct CamelJunkFilterInterface {
      GTypeInterface parent_interface;
      CamelJunkStatus (* classify) (
        CamelJunkFilter* junk_filter,
        CamelMimeMessage* message,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* learn_junk) (
        CamelJunkFilter* junk_filter,
        CamelMimeMessage* message,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* learn_not_junk) (
        CamelJunkFilter* junk_filter,
        CamelMimeMessage* message,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* synchronize) (
        CamelJunkFilter* junk_filter,
        GCancellable* cancellable,
        GError** error
      );
      gpointer reserved;

    }

No description available.

###### Interface members

`parent_interface` |
    GTypeInterface
| No description available.
`classify` |
    CamelJunkStatus (* classify) (
        CamelJunkFilter* junk_filter,
        CamelMimeMessage* message,
        GCancellable* cancellable,
        GError** error
      )
| No description available.
`learn_junk` |
    gboolean (* learn_junk) (
        CamelJunkFilter* junk_filter,
        CamelMimeMessage* message,
        GCancellable* cancellable,
        GError** error
      )
| No description available.
`learn_not_junk` |
    gboolean (* learn_not_junk) (
        CamelJunkFilter* junk_filter,
        CamelMimeMessage* message,
        GCancellable* cancellable,
        GError** error
      )
| No description available.
`synchronize` |
    gboolean (* synchronize) (
        CamelJunkFilter* junk_filter,
        GCancellable* cancellable,
        GError** error
      )
| No description available.
`reserved` |
    gpointer
| No description available.

#### Virtual methods

###### Camel.JunkFilter.classify

Classifies `message` as junk, not junk or inconclusive.

since: 3.2

###### Camel.JunkFilter.learn_junk

Instructs `junk_filter` to classify `message` as junk. If using an adaptive junk filtering algorithm, explicitly marking `message` as junk will influence the classification of future messages.

since: 3.2

###### Camel.JunkFilter.learn_not_junk

Instructs `junk_filter` to classify `message` as not junk. If using an adaptive junk filtering algorithm, explicitly marking `message` as not junk will influence the classification of future messages.

since: 3.2

###### Camel.JunkFilter.synchronize

Instructs `junk_filter` to flush any in-memory caches to disk, if applicable. When filtering many messages, delaying this step until all messages have been classified can improve performance.

since: 3.2