]> git.stg.codes - stg.git/blobdiff - projects/stargazer/tariffs_impl.cpp
More subscriptions, less notifiers.
[stg.git] / projects / stargazer / tariffs_impl.cpp
index 9cc829ddb4114fd07ead7f5d916aa6e30e697b98..116570d3253eb7e340a80125ace303059f149ca9 100644 (file)
@@ -47,7 +47,6 @@ TariffsImpl::TariffsImpl(Store * st)
       WriteServLog(Logger::get()),
       noTariff(NO_TARIFF_NAME)
 {
-ReadTariffs();
 }
 //-----------------------------------------------------------------------------
 int TariffsImpl::ReadTariffs()
@@ -176,12 +175,7 @@ TariffData td;
     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(),
@@ -224,13 +218,7 @@ if (store->AddTariff(name) < 0)
     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());
@@ -250,27 +238,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);
-}
-//-----------------------------------------------------------------------------