## CamelNNTPStore

CamelNNTPStore

## Synopsis

    enum                xover_t;
    struct              xover_header;
    struct              CamelNNTPStore;
    CamelDataCache *    camel_nntp_store_ref_cache          (CamelNNTPStore *nntp_store);
    CamelNNTPStream *   camel_nntp_store_ref_stream         (CamelNNTPStore *nntp_store);
    CamelNNTPStoreSummary * camel_nntp_store_ref_summary    (CamelNNTPStore *nntp_store);
    const gchar *       camel_nntp_store_get_current_group  (CamelNNTPStore *nntp_store);
    gchar *             camel_nntp_store_dup_current_group  (CamelNNTPStore *nntp_store);
    void                camel_nntp_store_set_current_group  (CamelNNTPStore *nntp_store,
                                                             const gchar *current_group);
    enum                CamelNNTPCapabilities;
    void                camel_nntp_store_add_capabilities   (CamelNNTPStore *nntp_store,
                                                             CamelNNTPCapabilities caps);
    gboolean            camel_nntp_store_has_capabilities   (CamelNNTPStore *nntp_store,
                                                             CamelNNTPCapabilities caps);
    void                camel_nntp_store_remove_capabilities
                                                            (CamelNNTPStore *nntp_store,
                                                             CamelNNTPCapabilities caps);
    gint                camel_nntp_raw_commandv             (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             va_list ap);
    gint                camel_nntp_raw_command              (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             ...);
    gint                camel_nntp_raw_command_auth         (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             ...);
    gint                camel_nntp_command                  (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             struct _CamelNNTPFolder *folder,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             ...);

## Object Hierarchy

      GObject
       +----CamelObject
             +----CamelService
                   +----CamelStore
                         +----CamelOfflineStore
                               +----CamelNNTPStore

## Implemented Interfaces

CamelNNTPStore implements GInitable, CamelNetworkService and CamelSubscribable.

## Description

## Details

### enum xover_t

    typedef enum {
    	XOVER_STRING = 0,
    	XOVER_MSGID,
    	XOVER_SIZE
    } xover_t;

`XOVER_STRING` |
`XOVER_MSGID` |
`XOVER_SIZE` |

### struct xover_header

    struct xover_header {
    	struct _xover_header *next;

    	const gchar *name;
    	guint skip : 8;
    	xover_t type : 8;
    };

### struct CamelNNTPStore

    struct CamelNNTPStore;

### camel_nntp_store_ref_cache ()

    CamelDataCache *    camel_nntp_store_ref_cache          (CamelNNTPStore *nntp_store);

Returns the CamelDataCache for `nntp_store`.

The returned CamelDataCache is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

`nntp_store` : | a CamelNNTPStore
Returns : | a CamelDataCache

### camel_nntp_store_ref_stream ()

    CamelNNTPStream *   camel_nntp_store_ref_stream         (CamelNNTPStore *nntp_store);

Returns the CamelNNTPStream for `nntp_store`.

The returned CamelNNTPStream is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

`nntp_store` : | a CamelNNTPStore
Returns : | a CamelNNTPStream

### camel_nntp_store_ref_summary ()

    CamelNNTPStoreSummary * camel_nntp_store_ref_summary    (CamelNNTPStore *nntp_store);

Returns the CamelNNTPStoreSummary for `nntp_store`.

The returned CamelNNTPStoreSummary is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

`nntp_store` : | a CamelNNTPStore
Returns : | a CamelNNTPStoreSummary

### camel_nntp_store_get_current_group ()

    const gchar *       camel_nntp_store_get_current_group  (CamelNNTPStore *nntp_store);

Returns the currently selected newsgroup name, or `NULL` if no newsgroup is selected.

`nntp_store` : | a CamelNNTPStore
Returns : | the currently selected newsgroup name, or `NULL`

### camel_nntp_store_dup_current_group ()

    gchar *             camel_nntp_store_dup_current_group  (CamelNNTPStore *nntp_store);

Thread-safe variation of `camel_nntp_store_get_current_group()`. Use this function when accessing `nntp_store` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

`nntp_store` : | a CamelNNTPStore
Returns : | a newly-allocated string, or `NULL`

### camel_nntp_store_set_current_group ()

    void                camel_nntp_store_set_current_group  (CamelNNTPStore *nntp_store,
                                                             const gchar *current_group);

Sets the name of the currently selected newsgroup.

`nntp_store` : | a CamelNNTPStore
`current_group` : | a newsgroup name

### enum CamelNNTPCapabilities

    typedef enum {
    	CAMEL_NNTP_CAPABILITY_OVER = 1 << 0  /* supports OVER command */
    } CamelNNTPCapabilities;

`CAMEL_NNTP_CAPABILITY_OVER` |

### camel_nntp_store_add_capabilities ()

    void                camel_nntp_store_add_capabilities   (CamelNNTPStore *nntp_store,
                                                             CamelNNTPCapabilities caps);

Adds `caps` to the set of known capabilities for `nntp_store`.

`nntp_store` : | a CamelNNTPStore
`caps` : | CamelNNTPCapabilities to add

### camel_nntp_store_has_capabilities ()

    gboolean            camel_nntp_store_has_capabilities   (CamelNNTPStore *nntp_store,
                                                             CamelNNTPCapabilities caps);

Returns whether the set of known capabilities for `nntp_store` includes ALL the capabilities specified by `caps`.

`nntp_store` : | a CamelNNTPStore
`caps` : | CamelNNTPCapabilities to check
Returns : | `TRUE` if `nntp_store` includes ALL capabilities in `caps`

### camel_nntp_store_remove_capabilities ()

    void                camel_nntp_store_remove_capabilities
                                                            (CamelNNTPStore *nntp_store,
                                                             CamelNNTPCapabilities caps);

Removes `caps` from the set of known capablities for `nntp_store`.

`nntp_store` : | a CamelNNTPStore
`caps` : | CamelNNTPCapabilities to remove

### camel_nntp_raw_commandv ()

    gint                camel_nntp_raw_commandv             (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             va_list ap);

### camel_nntp_raw_command ()

    gint                camel_nntp_raw_command              (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             ...);

### camel_nntp_raw_command_auth ()

    gint                camel_nntp_raw_command_auth         (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             ...);

### camel_nntp_command ()

    gint                camel_nntp_command                  (CamelNNTPStore *nntp_store,
                                                             GCancellable *cancellable,
                                                             GError **error,
                                                             struct _CamelNNTPFolder *folder,
                                                             gchar **line,
                                                             const gchar *fmt,
                                                             ...);