users.push_front(u);
AddUserIntoIndexes(users.begin());
-SetUserNotifiers(users.begin());
{
// Fire all "on add" notifiers
utd.delTime = stgTime;
usersToDelete.push_back(utd);
- UnSetUserNotifiers(u);
DelUserFromIndexes(u);
WriteServLog("%s User \'%s\' deleted.",
ui = users.begin();
AddUserIntoIndexes(ui);
- SetUserNotifiers(ui);
if (ui->ReadConf() < 0)
return -1;
user_iter ui = us->users.begin();
while (ui != us->users.end())
{
- us->UnSetUserNotifiers(ui);
us->DelUserFromIndexes(ui);
++ui;
}
return -1;
}
//-----------------------------------------------------------------------------
-void USERS_IMPL::SetUserNotifiers(user_iter user)
-{
-STG_LOCKER lock(&mutex, __FILE__, __LINE__);
-
-/*PROPERTY_NOTIFER_IP_BEFORE nb(*this, user);
-PROPERTY_NOTIFER_IP_AFTER na(*this, user);
-
-userIPNotifiersBefore.push_front(nb);
-userIPNotifiersAfter.push_front(na);
-
-user->AddCurrIPBeforeNotifier(&(*userIPNotifiersBefore.begin()));
-user->AddCurrIPAfterNotifier(&(*userIPNotifiersAfter.begin()));*/
-}
-//-----------------------------------------------------------------------------
-void USERS_IMPL::UnSetUserNotifiers(user_iter user)
-{
-STG_LOCKER lock(&mutex, __FILE__, __LINE__);
-
-/*list<PROPERTY_NOTIFER_IP_BEFORE>::iterator bi;
-list<PROPERTY_NOTIFER_IP_AFTER>::iterator ai;
-
-bi = userIPNotifiersBefore.begin();
-while (bi != userIPNotifiersBefore.end())
- {
- if (bi->GetUser() == user)
- {
- bi->GetUser()->DelCurrIPBeforeNotifier(&(*bi));
- userIPNotifiersBefore.erase(bi);
- //printfd(__FILE__, "Notifier Before removed. User %s\n", bi->GetUser()->GetLogin().c_str());
- break;
- }
- ++bi;
- }
-
-ai = userIPNotifiersAfter.begin();
-while (ai != userIPNotifiersAfter.end())
- {
- if (ai->GetUser() == user)
- {
- ai->GetUser()->DelCurrIPAfterNotifier(&(*ai));
- userIPNotifiersAfter.erase(ai);
- //printfd(__FILE__, "Notifier After removed. User %s\n", ai->GetUser()->GetLogin().c_str());
- break;
- }
- ++ai;
- }*/
-}
-//-----------------------------------------------------------------------------
void USERS_IMPL::AddUserIntoIndexes(user_iter user)
{
STG_LOCKER lock(&mutex, __FILE__, __LINE__);
void RealDelUser();
void ProcessActions();
- void SetUserNotifiers(user_iter user);
- void UnSetUserNotifiers(user_iter user);
-
void AddUserIntoIndexes(user_iter user);
void DelUserFromIndexes(user_iter user);
std::list<USER_IMPL> users;
std::list<USER_TO_DEL> usersToDelete;
- /*std::list<PROPERTY_NOTIFER_IP_BEFORE> userIPNotifiersBefore;
- std::list<PROPERTY_NOTIFER_IP_AFTER> userIPNotifiersAfter;*/
std::map<uint32_t, user_iter> ipIndex;
std::map<std::string, user_iter> loginIndex;