## InfdServerPool InfdServerPool |

## Synopsis

    void                (*InfdServerPoolForeachServerFunc)  (InfdXmlServer *server,
                                                             gpointer user_data);
                        InfdServerPool;
    struct              InfdServerPoolClass;
    InfdServerPool *    infd_server_pool_new                (InfdDirectory *directory);
    void                infd_server_pool_add_server         (InfdServerPool *server_pool,
                                                             InfdXmlServer *server);
    void                infd_server_pool_add_local_publisher
                                                            (InfdServerPool *server_pool,
                                                             InfdXmppServer *server,
                                                             InfLocalPublisher *publisher);
    void                infd_server_pool_remove_server      (InfdServerPool *server_pool,
                                                             InfdXmlServer *server);
    void                infd_server_pool_foreach_server     (InfdServerPool *server_pool,
                                                             InfdServerPoolForeachServerFunc func,
                                                             gpointer user_data);

## Object Hierarchy

      GObject
       +----InfdServerPool

## Properties

      "directory"                InfdDirectory*        : Read / Write / Construct Only

## Description

## Details

### InfdServerPoolForeachServerFunc ()

    void                (*InfdServerPoolForeachServerFunc)  (InfdXmlServer *server,
                                                             gpointer user_data);

### InfdServerPool

    typedef struct _InfdServerPool InfdServerPool;

### struct InfdServerPoolClass

    struct InfdServerPoolClass {
      GObjectClass parent_class;
    };

### infd_server_pool_new ()

    InfdServerPool *    infd_server_pool_new                (InfdDirectory *directory);

Creates a new InfdServerPool.

`directory` : | A InfdDirectory to which to add incoming connections.
Returns : | A new InfdServerPool.

### infd_server_pool_add_server ()

    void                infd_server_pool_add_server         (InfdServerPool *server_pool,
                                                             InfdXmlServer *server);

Adds `server` to `server_pool`. The server pool accepts incoming connections and gives them to its directory which processes incoming requests.

`server_pool` : | A InfdServerPool.
`server` : | A InfdXmlServer.

### infd_server_pool_add_local_publisher ()

    void                infd_server_pool_add_local_publisher
                                                            (InfdServerPool *server_pool,
                                                             InfdXmppServer *server,
                                                             InfLocalPublisher *publisher);

### infd_server_pool_remove_server ()

    void                infd_server_pool_remove_server      (InfdServerPool *server_pool,
                                                             InfdXmlServer *server);

Removed `server` from `servor_pool`. If `server` was published via some publishers then it will be unpublished automatically.

`server_pool` : | A InfdServerPool.
`server` : | A InfdXmlServer which was previously added to `server_pool`.

### infd_server_pool_foreach_server ()

    void                infd_server_pool_foreach_server     (InfdServerPool *server_pool,
                                                             InfdServerPoolForeachServerFunc func,
                                                             gpointer user_data);

Calls `func` for each server in pool registered with `infd_server_pool_add_server()`.

`server_pool` : | A InfdServerPool.
`func` : | The function to be called for each server.
`user_data` : | Additional data to pass to `func`.

## Property Details

### The `"directory"` property

      "directory"                InfdDirectory*        : Read / Write / Construct Only

The directory to which to register incoming connections to.