| 184 | |
| 185 | |
| 186 | IManagement* UserManagement::registerManager(Auth::Get& getPlugin, const char* plugName) |
| 187 | { |
| 188 | IManagement* manager = getPlugin.plugin(); |
| 189 | fb_assert(manager); |
| 190 | |
| 191 | // Start new management plugin ... |
| 192 | LocalStatus status; |
| 193 | CheckStatusWrapper statusWrapper(&status); |
| 194 | |
| 195 | UserIdInfo idInfo(att, tra); |
| 196 | ChangeCharset cc(att); |
| 197 | manager->start(&statusWrapper, &idInfo); |
| 198 | if (status.getState() & IStatus::STATE_ERRORS) |
| 199 | { |
| 200 | status_exception::raise(&statusWrapper); |
| 201 | } |
| 202 | |
| 203 | // ... and store it in cache |
| 204 | Manager& m(managers.add()); |
| 205 | m.first = plugName; |
| 206 | m.second = manager; |
| 207 | manager->addRef(); |
| 208 | |
| 209 | return manager; |
| 210 | } |
| 211 | |
| 212 | |
| 213 | IManagement* UserManagement::getManager(const char* name) |