presence/README has:
4.4. pres_refresh_watchers(uri, event, type) ... * type - it distinguishes between the two different types of events that can trigger the refresh, depending on its value: + 0 - a change in watchers authentication. + 1 - a statical update in published state (either through direct update in db table or by modifying the pidf manipulation document, if pidf_manipulation parameter is set).
4.5. pres_update_watchers(uri, event)
The function can be used in configuration to triger updates to watchers status if a change in watchers authorization state occurred (i.e., updates of xcap documents change state from pending to active).
then in xcap_server/README there is an example where these two functions are used:
switch($rm) { case "PUT": xcaps_put("$var(uri)", "$hu", "$rb"); if($xcapuri(u=>auid)=~"pres-rules") { pres_update_watchers("$var(uri)", "presence"); pres_refresh_watchers("$var(uri)", "presence", 1); } exit; break; case "GET": xcaps_get("$var(uri)", "$hu"); exit; break; case "DELETE": xcaps_del("$var(uri)", "$hu"); if($xcapuri(u=>auid)=~"pres-rules") { pres_update_watchers("$var(uri)", "presence"); pres_refresh_watchers("$var(uri)", "presence", 1); } exit; break; }
in PUT and DELETE, why type param value is 1 in pres_refresh_watchers calls, because xcap operations do not update published state of presentity?
in DELETE, why pres_update_watchers is called, because xcap delete cannot change watchers status from pending to active?
-- juha