5 end |
5 end |
6 |
6 |
7 local setmetatable = setmetatable; |
7 local setmetatable = setmetatable; |
8 local format = string.format; |
8 local format = string.format; |
9 local loadfile, setfenv, pcall = loadfile, setfenv, pcall; |
9 local loadfile, setfenv, pcall = loadfile, setfenv, pcall; |
|
10 |
|
11 local hosts = hosts; |
10 |
12 |
11 require "util.datamanager" |
13 require "util.datamanager" |
12 |
14 |
13 local datamanager = datamanager; |
15 local datamanager = datamanager; |
14 |
16 |
33 function remove_from_roster(roster, jid) |
35 function remove_from_roster(roster, jid) |
34 roster[jid] = nil; |
36 roster[jid] = nil; |
35 -- TODO implement |
37 -- TODO implement |
36 end |
38 end |
37 |
39 |
38 function load_roster(host, username) |
40 function load_roster(username, host) |
39 if hosts[host] and hosts[host].sessions[username] then |
41 if hosts[host] and hosts[host].sessions[username] then |
40 local roster = hosts[host].sessions[username].roster; |
42 local roster = hosts[host].sessions[username].roster; |
41 if not roster then |
43 if not roster then |
42 return hosts[host].sessions[username].roster = datamanger.load(username, host, "roster") or {}; |
44 roster = datamanager.load(username, host, "roster") or {}; |
|
45 hosts[host].sessions[username].roster = roster; |
43 end |
46 end |
44 return roster; |
47 return roster; |
45 end |
48 end |
46 error("Attempt to load roster for non-loaded user"); --return nil; |
49 error("Attempt to load roster for non-loaded user"); --return nil; |
47 end |
50 end |
48 |
51 |
49 function save_roster(host, username) |
52 function save_roster(username, host) |
50 if hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster then |
53 if hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster then |
51 return datamanager.save(username, host, "roster", hosts[host].sessions[username].roster); |
54 return datamanager.save(username, host, "roster", hosts[host].sessions[username].roster); |
52 end |
55 end |
53 return nil; |
56 return nil; |
54 end |
57 end |