## TpAutomaticProxyFactory

TpAutomaticProxyFactory — factory creating higher level proxy objects

## Functions

TpAutomaticProxyFactory * | tp_automatic_proxy_factory_new ()
TpAutomaticProxyFactory * | tp_automatic_proxy_factory_dup ()

## Types and Values

struct | TpAutomaticProxyFactory
struct | TpAutomaticProxyFactoryClass

## Object Hierarchy

        GObject
        ╰── TpAutomaticProxyFactory

## Implemented Interfaces

TpAutomaticProxyFactory implements TpClientChannelFactory.

## Includes

    #include <telepathy-glib/telepathy-glib.h>

## Description

This factory implements the TpClientChannelFactoryInterface interface to create specialized TpChannel subclasses.

TpAutomaticProxyFactory will currently create TpChannel objects as follows:

- a TpStreamTubeChannel, if the channel is of type `TP_IFACE_CHANNEL_TYPE_STREAM_TUBE`;

- a TpTextChannel, if the channel is of type `TP_IFACE_CHANNEL_TYPE_TEXT` and implements `TP_IFACE_CHANNEL_INTERFACE_MESSAGES`;

- a TpFileTransferChannel, if the channel is of type `TP_IFACE_CHANNEL_TYPE_FILE_TRANSFER`;

- a plain TpChannel, otherwise

It is guaranteed that the objects returned by future versions will be either the class that is currently used, or a more specific subclass of that class.

This factory asks to prepare the following properties:

- `TP_CHANNEL_FEATURE_CORE`, `TP_CHANNEL_FEATURE_GROUP` and `TP_CHANNEL_FEATURE_PASSWORD` for all type of channels.

- `TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES` and TP_TEXT_CHANNEL_FEATURE_SMS for TpTextChannel

- `TP_FILE_TRANSFER_CHANNEL_FEATURE_CORE` for TpFileTransferChannel

TpProxy subclasses other than TpChannel are not currently supported.

## Functions

### tp_automatic_proxy_factory_new ()

    TpAutomaticProxyFactory *
    tp_automatic_proxy_factory_new (void);

`tp_automatic_proxy_factory_new` is deprecated and should not be used in newly-written code.

New code should use TpAutomaticClientFactory instead

Convenient function to create a new TpAutomaticProxyFactory instance.

#### Returns

a new TpAutomaticProxyFactory

Since: 0.13.2

### tp_automatic_proxy_factory_dup ()

    TpAutomaticProxyFactory *
    tp_automatic_proxy_factory_dup (void);

`tp_automatic_proxy_factory_dup` is deprecated and should not be used in newly-written code.

New code should use TpAutomaticClientFactory instead

Returns a cached TpAutomaticProxyFactory; the same TpAutomaticProxyFactory object will be returned by this function repeatedly, as long as at least one reference exists.

#### Returns

a TpAutomaticProxyFactory.

[transfer full]

Since: 0.13.2

## Types and Values

### struct TpAutomaticProxyFactory

    struct TpAutomaticProxyFactory;

Data structure representing a TpAutomaticProxyFactory

Since: 0.13.2

### struct TpAutomaticProxyFactoryClass

    struct TpAutomaticProxyFactoryClass {
        GObjectClass parent_class;
    };

The class of a TpAutomaticProxyFactory.

#### Members

GObjectClass `parent_class`; | the parent class |

Since: 0.13.2

## See Also

TpBasicProxyFactory