]> git.stg.codes - stg.git/blobdiff - projects/stargazer/tariffs_impl.cpp
Use async-radius.
[stg.git] / projects / stargazer / tariffs_impl.cpp
index 9cc829ddb4114fd07ead7f5d916aa6e30e697b98..9d9ed20839c5b364b76ac0d6095a355a4e1ce46a 100644 (file)
  $Author: faust $
  */
 
  $Author: faust $
  */
 
-#include <cassert>
-#include <algorithm>
-#include <vector>
+#include "tariffs_impl.h"
 
 
-#include "stg/locker.h"
 #include "stg/logger.h"
 #include "stg/store.h"
 #include "stg/admin.h"
 #include "stg/admin_conf.h"
 #include "stg/logger.h"
 #include "stg/store.h"
 #include "stg/admin.h"
 #include "stg/admin_conf.h"
-#include "tariffs_impl.h"
+
+#include <cassert>
+#include <algorithm>
 
 using STG::TariffsImpl;
 
 
 using STG::TariffsImpl;
 
@@ -47,7 +46,6 @@ TariffsImpl::TariffsImpl(Store * st)
       WriteServLog(Logger::get()),
       noTariff(NO_TARIFF_NAME)
 {
       WriteServLog(Logger::get()),
       noTariff(NO_TARIFF_NAME)
 {
-ReadTariffs();
 }
 //-----------------------------------------------------------------------------
 int TariffsImpl::ReadTariffs()
 }
 //-----------------------------------------------------------------------------
 int TariffsImpl::ReadTariffs()
@@ -176,12 +174,7 @@ TariffData td;
     tariffs.erase(ti);
     }
 
     tariffs.erase(ti);
     }
 
-auto ni = onDelNotifiers.begin();
-while (ni != onDelNotifiers.end())
-    {
-    (*ni)->Notify(td);
-    ++ni;
-    }
+m_onDelCallbacks.notify(td);
 
 WriteServLog("%s Tariff \'%s\' deleted.",
              admin->logStr().c_str(),
 
 WriteServLog("%s Tariff \'%s\' deleted.",
              admin->logStr().c_str(),
@@ -224,13 +217,7 @@ if (store->AddTariff(name) < 0)
     return -1;
     }
 
     return -1;
     }
 
-// Fire all "on add" notifiers
-auto ni = onAddNotifiers.begin();
-while (ni != onAddNotifiers.end())
-    {
-    (*ni)->Notify(tariffs.back().GetTariffData());
-    ++ni;
-    }
+m_onAddCallbacks.notify(tariffs.back().GetTariffData());
 
 WriteServLog("%s Tariff \'%s\' added.",
                  admin->logStr().c_str(), name.c_str());
 
 WriteServLog("%s Tariff \'%s\' added.",
                  admin->logStr().c_str(), name.c_str());
@@ -250,27 +237,3 @@ for (; it != tariffs.end(); ++it)
     }
 }
 //-----------------------------------------------------------------------------
     }
 }
 //-----------------------------------------------------------------------------
-void TariffsImpl::AddNotifierAdd(NotifierBase<TariffData> * n)
-{
-std::lock_guard<std::mutex> lock(m_mutex);
-onAddNotifiers.insert(n);
-}
-//-----------------------------------------------------------------------------
-void TariffsImpl::DelNotifierAdd(NotifierBase<TariffData> * n)
-{
-std::lock_guard<std::mutex> lock(m_mutex);
-onAddNotifiers.erase(n);
-}
-//-----------------------------------------------------------------------------
-void TariffsImpl::AddNotifierDel(NotifierBase<TariffData> * n)
-{
-std::lock_guard<std::mutex> lock(m_mutex);
-onDelNotifiers.insert(n);
-}
-//-----------------------------------------------------------------------------
-void TariffsImpl::DelNotifierDel(NotifierBase<TariffData> * n)
-{
-std::lock_guard<std::mutex> lock(m_mutex);
-onDelNotifiers.erase(n);
-}
-//-----------------------------------------------------------------------------