|  |  |  | Libdexter Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
#include <dexter.h> #define DEXTER_SERVICE_BROKER_ERROR enum DexterServiceBrokerError; DexterServiceBroker; enum DexterServiceType; DexterServiceBroker * dexter_service_broker_new (DexterChannel *channel); DexterPluginServiceGroup * dexter_service_broker_get_services (DexterServiceBroker *service_broker,gint service_type,GError **error); void dexter_service_broker_free (DexterServiceBroker *service_broker);
Service brokers are Libdexter objects used to fetch available service 
information and return it in the form of a collection known as a service group.  
If a channel is specified during dexter_service_broker_new(), the service broker 
retrieves the service group from the remote host over the channel, otherwise it 
operates locally (in-process).  
Service brokers must be freed with dexter_service_broker_free() when done.
#define DEXTER_SERVICE_BROKER_ERROR dexter_service_broker_error_quark()
The error domain of the libdexter service broker subsystem.
typedef enum {
  DEXTER_SERVICE_BROKER_ERROR_FAILED
} DexterServiceBrokerError;
Error codes for DexterServiceBroker operations.
typedef struct _DexterServiceBroker DexterServiceBroker;
Opaque type with no public members.
typedef enum {
  DEXTER_SERVICE_SAMPLER = 1<<0
} DexterServiceType;
Or-able flags used in service_type parameter of the dexter_service_broker_get_services() api.
(At present only one service type is implemented).
DexterServiceBroker * dexter_service_broker_new         (DexterChannel *channel);
Creates a DexterServiceBroker over the specified DexterChannel, if indicated.
If no DexterChannel is indicated, the service broker operates locally (in-process).
The service broker must be freed when done with dexter_service_broker_free().
| 
 | DexterChannel over which to create the service broker, or NULLfor local operation. | 
| Returns : | pointer to newly allocated DexterServiceBroker. | 
DexterPluginServiceGroup * dexter_service_broker_get_services (DexterServiceBroker *service_broker,gint service_type,GError **error);
Requests and delivers a service group, either for the local process, or for the remote host if created on a DexterChannel.
The service group must be freed with dexterplugin_service_group_free() when done.
| 
 | a DexterServiceBroker. | 
| 
 | boolean OR of service type flags from DexterServiceType. | 
| 
 | return location for optional GError. | 
| Returns : | DexterPluginServiceGroup service group. | 
void                dexter_service_broker_free          (DexterServiceBroker *service_broker);
Frees the DexterServiceBroker previously created with dexter_service_broker_new().
| 
 | a DexterServiceBroker. |