## GdictClientContext

GdictClientContext — DICT client transport

## Synopsis

                        GdictClientContext;
                        GdictClientContextClass;
    enum                GdictClientContextError;
    GdictContext *      gdict_client_context_new            (const gchar *hostname,
                                                             gint port);
    void                gdict_client_context_set_hostname   (GdictClientContext *context,
                                                             const gchar *hostname);
    const gchar *       gdict_client_context_get_hostname   (GdictClientContext *context);
    void                gdict_client_context_set_port       (GdictClientContext *context,
                                                             gint port);
    guint               gdict_client_context_get_port       (GdictClientContext *context);
    void                gdict_client_context_set_client     (GdictClientContext *context,
                                                             const gchar *client);
    const gchar *       gdict_client_context_get_client     (GdictClientContext *context);

## Object Hierarchy

      GObject
       +----GdictClientContext

## Implemented Interfaces

GdictClientContext implements

## Properties

      "client-name"              gchar*                : Read / Write
      "hostname"                 gchar*                : Read / Write
      "port"                     guint                 : Read / Write
      "status"                   GdictStatusCode       : Read

## Signals

      "connected"                                      : Run Last
      "disconnected"                                   : Run Last

## Description

GdictClientContext is an implementation of the GdictContext interface. It implements the Dictionary Protocol as defined by the RFC 2229 in order to connect to a dictionary server.

You should rarely instantiate this object directely: use an appropriate GdictSource instead.

## Details

### GdictClientContext

    typedef struct _GdictClientContext GdictClientContext;

### GdictClientContextClass

    typedef struct {
      /* signals monitoring the lifetime of the connection with
       * the dictionary server
       */
      void (*connected)    (GdictClientContext *context);
      void (*disconnected) (GdictClientContext *context);
    } GdictClientContextClass;

### enum GdictClientContextError

    typedef enum {
      GDICT_CLIENT_CONTEXT_ERROR_SOCKET,
      GDICT_CLIENT_CONTEXT_ERROR_LOOKUP,
      GDICT_CLIENT_CONTEXT_ERROR_NO_CONNECTION,
      GDICT_CLIENT_CONTEXT_ERROR_SERVER_DOWN
    } GdictClientContextError;

GdictClientContext error enumeration

### gdict_client_context_new ()

    GdictContext *      gdict_client_context_new            (const gchar *hostname,
                                                             gint port);

Creates a new GdictClientContext object for `hostname`. Use this object to connect and query the dictionary server using the Dictionary Protocol as defined by RFC 2229.

`hostname` : | the hostname of a dictionary server, or `NULL` for the default server
`port` : | port to be used when connecting to the dictionary server, or -1 for the default port
Returns : | the newly created GdictClientContext object. You should free it using `g_object_unref()`.

### gdict_client_context_set_hostname ()

    void                gdict_client_context_set_hostname   (GdictClientContext *context,
                                                             const gchar *hostname);

Sets `hostname` as the hostname of the dictionary server to be used. If `hostname` is `NULL`, the default dictionary server will be used.

`context` : | a GdictClientContext
`hostname` : | the hostname of a Dictionary server, or `NULL`

### gdict_client_context_get_hostname ()

    const gchar *       gdict_client_context_get_hostname   (GdictClientContext *context);

Gets the hostname of the dictionary server used by `context`.

`context` : | a GdictClientContext
Returns : | the hostname of a dictionary server. The returned string is owned by the GdictClientContext object and should never be modified or freed.

### gdict_client_context_set_port ()

    void                gdict_client_context_set_port       (GdictClientContext *context,
                                                             gint port);

Sets the port of the dictionary server to be used when connecting.

If `port` is -1, the default port will be used.

`context` : | a GdictClientContext
`port` : | port of the dictionary server to be used, or -1

### gdict_client_context_get_port ()

    guint               gdict_client_context_get_port       (GdictClientContext *context);

Gets the port of the dictionary server used by `context`.

`context` : | a GdictClientContext
Returns : | the number of the port.

### gdict_client_context_set_client ()

    void                gdict_client_context_set_client     (GdictClientContext *context,
                                                             const gchar *client);

Sets `client` as the client name to be used when advertising ourselves when a connection the the dictionary server has been established. If `client` is `NULL`, the default client name will be used.

`context` : | a GdictClientContext
`client` : | the client name to use, or `NULL`

### gdict_client_context_get_client ()

    const gchar *       gdict_client_context_get_client     (GdictClientContext *context);

Gets the client name used by `context`. See `gdict_client_context_set_client()`.

`context` : | a GdictClientContext
Returns : | the client name. The returned string is owned by the GdictClientContext object and should never be modified or freed.

## Property Details

### The `"client-name"` property

      "client-name"              gchar*                : Read / Write

The name of the client using this context; it will be advertised when connecting to the dictionary server.

Default value: NULL

Since 1.0

### The `"hostname"` property

      "hostname"                 gchar*                : Read / Write

The hostname of the dictionary server to connect to.

Default value: NULL

Since 1.0

### The `"port"` property

      "port"                     guint                 : Read / Write

The port of the dictionary server to connect to.

Allowed values: <= 65535

Default value: 2628

Since 1.0

### The `"status"` property

      "status"                   GdictStatusCode       : Read

The status code as returned by the dictionary server.

Default value: GDICT_STATUS_INVALID

Since 1.0

## Signal Details

### The `"connected"` signal

    void                user_function                      (GdictClientContext *client,
                                                            gpointer            user_data)      : Run Last

Emitted when a GdictClientContext has successfully established a connection with a dictionary server.

`client` : | the object which received the signal
`user_data` : | user data set when the signal handler was connected.

Since 1.0

### The `"disconnected"` signal

    void                user_function                      (GdictClientContext *client,
                                                            gpointer            user_data)      : Run Last

Emitted when a GdictClientContext has disconnected from a dictionary server.

`client` : | the object which received the signal
`user_data` : | user data set when the signal handler was connected.

Since 1.0