Resources.XcapClientModule HistoryHide minor edits - Show changes to markup April 24, 2013, at 08:16 PM
by
- Changed lines 1-82 from:
Resources -> Documentation -> Presence -> Presence Server -> Xcap_client moduleExported Parameters
Developer's GuideThis module represents an XCAP client interface for OpenSIPS with retrieving capabilities only. It is meant to be used by other OpenSIPS modules that use XCAP storage. Now this module is used by presence_xml and rls modules. Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) The API contains the following functions:
typedef char* (*xcap_get_elem_t)(xcap_get_req_t req, char** etag);
This function retrieves an element from the excap server( either a hole document or a node from the document.
typedef char* (*xcapGetNewDoc_t)(xcap_get_req_t req, str user, str domain);
This function is a request to fetch the document indicated in the request strucuture and handle its update. Calling this function will ensures that in the database table will always be the updated version of the document.
The argument of the two functions is a structure containing the request. It has the following fields:
The xcap_doc_sel_t has the following structure:
Example: For selecting a presence authorization rules document the strucuture is filed like this: xcap_doc_sel_t doc_sel; doc_sel.auid.s= "presence-rules"; doc_sel.auid.len= strlen("presence-rules"); doc_sel.doc_type= PRES_RULES; doc_sel.type= USERS_TYPE; doc_sel.xid= uri; doc_sel.filename.s= "index"; doc_sel.filename.len= 5; The xcap_node_sel_t structure that identifies a node from a document can be constructed using functions from the API:
typedef xcap_node_sel_t* (*xcap_nodeSel_init_t )(void);
typedef xcap_node_sel_t* (*xcap_nodeSel_add_step_t)(xcap_node_sel_t* curr_sel, str* name, str* namespace, int pos, attr_test_t* attr_test, str* extra_sel);
The attr_test in the parameters list is to be used in case an attribute test should be made to select the node. The definition of the structure is:
typedef struct att_test
{
str name;
str value;
}attr_test_t;
typedef xcap_node_sel_t* (*xcap_nodeSel_add_terminal_t)(xcap_node_sel_t* curr_sel, char* attr_sel, char* namespace_sel, char* extra_sel );
typedef void (*xcap_nodeSel_free_t)(xcap_node_sel_t* node);
There is also one function which allows registering a callback to be called by the module when a change occurs in a document:
Module ReadmeYou can read the modules's readme here . to:
(:redirect Documentation.Tutorials-Presence-XcapClient quiet=1:) July 24, 2008, at 11:18 AM
by
- Changed line 11 from:
to:
July 23, 2008, at 04:10 PM
by
- Added line 77:
There is also one function which allows registering a callback to be called by the module when a change occurs in a document: July 23, 2008, at 04:09 PM
by
- Changed lines 26-27 from:
The argument is a structure containing the request. It has the following fields:
to:
This function retrieves an element from the excap server( either a hole document or a node from the document.
typedef char* (*xcapGetNewDoc_t)(xcap_get_req_t req, str user, str domain);
This function is a request to fetch the document indicated in the request strucuture and handle its update. Calling this function will ensures that in the database table will always be the updated version of the document.
The argument of the two functions is a structure containing the request. It has the following fields:
Changed lines 63-69 from:
typedef xcap_node_sel_t* (*xcap_nodeSel_add_step_t)
(xcap_node_sel_t* curr_sel, str* name, str* namespace, int pos, attr_test_t* attr_test, str* extra_sel); to:
typedef xcap_node_sel_t* (*xcap_nodeSel_add_step_t)(xcap_node_sel_t* curr_sel, str* name, str* namespace, int pos, attr_test_t* attr_test, str* extra_sel);
Changed lines 75-76 from:
to:
typedef void (*xcap_nodeSel_free_t)(xcap_node_sel_t* node);
July 23, 2008, at 03:58 PM
by
- Changed lines 27-28 from:
The argument is a request structure that can be constructed with the following functions from the api:
to:
The argument is a structure containing the request. It has the following fields:
The xcap_doc_sel_t has the following structure:
Example: For selecting a presence authorization rules document the strucuture is filed like this: xcap_doc_sel_t doc_sel; doc_sel.auid.s= "presence-rules"; doc_sel.auid.len= strlen("presence-rules"); doc_sel.doc_type= PRES_RULES; doc_sel.type= USERS_TYPE; doc_sel.xid= uri; doc_sel.filename.s= "index"; doc_sel.filename.len= 5; The xcap_node_sel_t structure that identifies a node from a document can be constructed using functions from the API:
Changed line 57 from:
to:
Deleted line 71:
Added lines 73-74:
typedef xcap_node_sel_t* (*xcap_nodeSel_add_terminal_t)(xcap_node_sel_t* curr_sel, char* attr_sel, char* namespace_sel, char* extra_sel );
Added line 76:
July 23, 2008, at 03:17 PM
by
- Changed lines 25-26 from:
typedef char* (*xcap_get_elem_t)(xcap_get_req_t req, char** etag); to:
typedef char* (*xcap_get_elem_t)(xcap_get_req_t req, char** etag);
Changed lines 29-31 from:
typedef xcap_node_sel_t* (*xcap_nodeSel_init_t )(void);
to:
typedef xcap_node_sel_t* (*xcap_nodeSel_init_t )(void);
typedef xcap_node_sel_t* (*xcap_nodeSel_add_step_t)
(xcap_node_sel_t* curr_sel, str* name, str* namespace, int pos, attr_test_t* attr_test, str* extra_sel); The attr_test in the parameters list is to be used in case an attribute test should be made to select the node. The definition of the structure is:
typedef struct att_test
{
str name;
str value;
}attr_test_t;
July 23, 2008, at 03:12 PM
by
- Changed lines 22-24 from:
to:
The API contains the following functions:
typedef char* (*xcap_get_elem_t)(xcap_get_req_t req, char** etag); The argument is a request structure that can be constructed with the following functions from the api:
typedef xcap_node_sel_t* (*xcap_nodeSel_init_t )(void); July 22, 2008, at 07:10 PM
by
- Changed line 18 from:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) to:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set)\\ July 22, 2008, at 07:10 PM
by
- Deleted line 18:
July 22, 2008, at 07:09 PM
by
- Changed lines 18-19 from:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) to:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) July 22, 2008, at 07:09 PM
by
- Changed lines 18-19 from:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) to:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) July 22, 2008, at 07:09 PM
by
- Changed lines 18-19 from:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) to:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) July 22, 2008, at 07:08 PM
by
- Added lines 18-23:
Presence_xml and xcap_client interaction(when integrated_xcap_client parameter is not set) Presence_xml module assumes that in the database table 'xcap' there is always the newest version of an xcap document that he has previously sent a request for to xcap_client module. When a searched document is not found in the table, a request is sent to the xcap_client module, saying it to retrieve the document from the xcap server in future synchronize the version in the database table with that on the server, by calling the function getNewDoc. July 22, 2008, at 07:00 PM
by
- Changed lines 25-28 from:
}xcap_api_t; to:
Module ReadmeYou can read the modules's readme here . July 22, 2008, at 06:59 PM
by
- Changed lines 16-17 from:
This module represents an XCAP client interface for OpenSIPS with retrieving capabilities only. It is meant to be used by other OpenSIPS modules that use XCAP storage. Now this module is used by presence_xml and rls' modules. to:
This module represents an XCAP client interface for OpenSIPS with retrieving capabilities only. It is meant to be used by other OpenSIPS modules that use XCAP storage. Now this module is used by presence_xml and rls modules. July 22, 2008, at 06:41 PM
by
- Changed lines 16-25 from:
This module represents an XCAP client interface for OpenSIPS with retrieving capabilities only. It is meant to be used by other OpenSIPS modules that use XCAP storage. Now this module is used by presence_xml and rls modules. to:
This module represents an XCAP client interface for OpenSIPS with retrieving capabilities only. It is meant to be used by other OpenSIPS modules that use XCAP storage. Now this module is used by presence_xml and rls' modules.
}xcap_api_t; July 22, 2008, at 06:38 PM
by
- Changed lines 12-16 from:
to:
Developer's GuideThis module represents an XCAP client interface for OpenSIPS with retrieving capabilities only. It is meant to be used by other OpenSIPS modules that use XCAP storage. Now this module is used by presence_xml and rls modules. July 22, 2008, at 05:25 PM
by
- Changed lines 10-11 from:
to:
July 22, 2008, at 05:23 PM
by
- Deleted line 2:
Changed lines 7-8 from:
to:
Exported Parameters
July 21, 2008, at 08:46 PM
by
- Added lines 1-9:
|