InfcRequestManager

InfcRequestManager

Functions

Properties

guint sequence-id Read / Write / Construct Only

Signals

void request-add Run Last
void request-remove Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── InfcRequestManager

Description

Functions

InfcRequestManagerForeachFunc ()

void
(*InfcRequestManagerForeachFunc) (InfcRequest *Param1,
                                  gpointer Param2);


infc_request_manager_new ()

InfcRequestManager *
infc_request_manager_new (guint seq_id);

Creates a new InfcRequestManager.

Parameters

seq_id

The local sequence ID.

 

Returns

A newly allocated InfcRequestManager.


infc_request_manager_add_request ()

InfcRequest *
infc_request_manager_add_request (InfcRequestManager *manager,
                                  GType request_type,
                                  const gchar *request_name,
                                  const gchar *first_property_name,
                                  ...);

Adds a request to the request manager.

Parameters

manager

A InfcRequestManager.

 

request_type

The type of request to add, such as INFC_TYPE_NODE_REQUEST.

 

request_name

The name of the request, such as "explore-node" or "subscribe-session".

 

first_property_name

The first property name apart from name and seq to set for the new request.

 

...

The value of the first property, followed optionally by more name/value pairs, followed by NULL.

 

Returns

The generated InfcRequest (actually of type request_type ).


infc_request_manager_add_request_valist ()

InfcRequest *
infc_request_manager_add_request_valist
                               (InfcRequestManager *manager,
                                GType request_type,
                                const gchar *request_name,
                                const gchar *first_property_name,
                                va_list arglist);

Adds a request to the request manager.

Parameters

manager

A InfcRequestManager.

 

request_type

The type of request to add, such as INFC_TYPE_NODE_REQUEST.

 

request_name

The name of the request, such as "explore-node" or "subscribe-session"

 

first_property_name

The first property name apart from name and seq to set for the new request.

 

arglist

The value of the first property, followed optionally by more name/value pairs, followed by NULL.

 

Returns

The generated InfcRequest (actually of type request_type ).


infc_request_manager_remove_request ()

void
infc_request_manager_remove_request (InfcRequestManager *manager,
                                     InfcRequest *request);

Removes a request from the request manager.

Parameters

manager

A InfcRequestManager.

 

request

A InfcRequest that has previously been added to manager .

 

infc_request_manager_fail_request ()

void
infc_request_manager_fail_request (InfcRequestManager *manager,
                                   InfcRequest *request,
                                   GError *error);

Emits the "failed" signal on request and then removes the request from the manager.

Parameters

manager

A InfcRequestManager.

 

request

A InfcRequest that has previously been added to manager .

 

error

Error information why the request failed.

 

infc_request_manager_clear ()

void
infc_request_manager_clear (InfcRequestManager *manager);

Removes all the requests in manager .

Parameters

manager

A InfcRequestManager.

 

infc_request_manager_get_request_by_seq ()

InfcRequest *
infc_request_manager_get_request_by_seq
                               (InfcRequestManager *manager,
                                guint seq);

Returns a previously-added request that has the given seq.

Parameters

manager

A InfcRequestManager.

 

seq

The sequence number to which the request should be retrieved.

 

Returns

The request with the given seq, or NULL if there is no such request.


infc_request_manager_get_request_by_xml ()

InfcRequest *
infc_request_manager_get_request_by_xml
                               (InfcRequestManager *manager,
                                const gchar *name,
                                xmlNodePtr xml,
                                GError **error);

Looks whether there is a "seq" attribute in xml . If not, the function returns NULL (without setting error ). Otherwise, it returns the request with the given seq and name, if the sequence ID matches. If the "seq" attribute is set but the actual request is not present (or has another name), the function returns NULL and error is set.

Parameters

manager

A InfcRequestManager.

 

name

Name of the expected request. May be NULL to allow all requests.

 

xml

XML node that is supposed to contain a "seq" attribute.

 

error

Location to store error information.

 

Returns

The resulting request, or NULL if the "seq" attribute was not present or an error occured.


infc_request_manager_get_request_by_xml_required ()

InfcRequest *
infc_request_manager_get_request_by_xml_required
                               (InfcRequestManager *manager,
                                const gchar *name,
                                xmlNodePtr xml,
                                GError **error);

Looks whether there is a "seq" attribute in xml . If so, it returns the request with the given seq and name, if the sequence ID matches. If the "seq" attribute is not set or the actual request is not present (or has another name), the function returns NULL and error is set.

Parameters

manager

A InfcRequestManager.

 

name

Name of the expected request. May be NULL to allow all requests.

 

xml

XML node that is supposed to contain a "seq" attribute.

 

error

Location to store error information.

 

Returns

The resulting request, or NULL if an error occured.


infc_request_manager_foreach_request ()

void
infc_request_manager_foreach_request (InfcRequestManager *manager,
                                      InfcRequestManagerForeachFunc func,
                                      gpointer user_data);

Calls the given function for each request that has been added to the request manager.

Parameters

manager

A InfcRequestManager.

 

func

The function to be called.

 

user_data

Arbitrary data to be passed to func .

 

infc_request_manager_foreach_named_request ()

void
infc_request_manager_foreach_named_request
                               (InfcRequestManager *manager,
                                const gchar *name,
                                InfcRequestManagerForeachFunc func,
                                gpointer user_data);

Calls the given function for each request that has been added to the request manager that has the name name .

Parameters

manager

A InfcRequestManager.

 

name

The name of the request to look for.

 

func

The function to be called.

 

user_data

Arbitrary data to be passed to func .

 

Types and Values

struct InfcRequestManager

struct InfcRequestManager;


struct InfcRequestManagerClass

struct InfcRequestManagerClass {
  GObjectClass parent_class;

  void (*request_add)(InfcRequestManager* manager,
                      InfcRequest* request);
  void (*request_remove)(InfcRequestManager* manager,
                         InfcRequest* request);
};

Property Details

The “sequence-id” property

  “sequence-id”              guint

The local sequence identifier.

Flags: Read / Write / Construct Only

Default value: 0

Signal Details

The “request-add” signal

void
user_function (InfcRequestManager *infcrequestmanager,
               InfcRequest        *arg1,
               gpointer            user_data)

Parameters

infcrequestmanager

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “request-remove” signal

void
user_function (InfcRequestManager *infcrequestmanager,
               InfcRequest        *arg1,
               gpointer            user_data)

Parameters

infcrequestmanager

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last