Software / code / prosody
Comparison
plugins/mod_storage_xep0227.lua @ 6701:88a25c364a14
mod_storage_xep0227: Update open method for current API
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 15 May 2015 15:29:05 +0200 |
| parent | 6700:0103dc8fa179 |
| child | 6702:6a5c6c95cf78 |
comparison
equal
deleted
inserted
replaced
| 6700:0103dc8fa179 | 6701:88a25c364a14 |
|---|---|
| 148 }; | 148 }; |
| 149 | 149 |
| 150 ----------------------------- | 150 ----------------------------- |
| 151 local driver = {}; | 151 local driver = {}; |
| 152 | 152 |
| 153 function driver:open(host, datastore, typ) | 153 function driver:open(datastore, typ) |
| 154 local instance = setmetatable({}, self); | |
| 155 instance.host = host; | |
| 156 instance.datastore = datastore; | |
| 157 local handler = handlers[datastore]; | 154 local handler = handlers[datastore]; |
| 158 if not handler then return nil; end | 155 if not handler then return nil, "unsupported-datastore"; end |
| 159 for key,val in pairs(handler) do | 156 local instance = setmetatable({ host = module.host; datastore = datastore; }, { __index = handler }); |
| 160 instance[key] = val; | |
| 161 end | |
| 162 if instance.init then instance:init(); end | 157 if instance.init then instance:init(); end |
| 163 return instance; | 158 return instance; |
| 164 end | 159 end |
| 165 | 160 |
| 166 module:provides("storage", driver); | 161 module:provides("storage", driver); |