#include <cassert>
#include <cstdlib>
+#include "stg/users.h"
+#include "stg/common.h"
+#include "stg/scriptexecuter.h"
+#include "stg/tariff.h"
+#include "stg/tariffs.h"
+#include "stg/admin.h"
#include "user_impl.h"
-#include "users.h"
-#include "common.h"
#include "settings_impl.h"
-#include "script_executer.h"
-#include "tariff.h"
-#include "tariffs.h"
-#include "admin.h"
USER_IMPL::USER_IMPL(const SETTINGS_IMPL * s,
const STORE * st,
{
if (connected)
{
- lastActivityTime = *const_cast<time_t *>(&stgTime);
+ property.Stat().lastActivityTime = stgTime;
}
if (!connected && IsInetable())
{
{
//STG_LOCKER lock(&mutex, __FILE__, __LINE__);
-if (disabled || passive)
+if (disabled.ConstData() || passive.ConstData())
return false;
if (settings->GetFreeMbAllowInet())
{
- if (freeMb >= 0)
+ if (freeMb.ConstData() >= 0)
return true;
}
if (settings->GetShowFeeInCash())
{
- return (cash >= -credit);
+ return (cash.ConstData() >= -credit.ConstData());
}
-return (cash - tariff->GetFee() >= -credit);
+return (cash.ConstData() - tariff->GetFee() >= -credit.ConstData());
}
//-----------------------------------------------------------------------------
string USER_IMPL::GetEnabledDirs()
currIP.DelAfterNotifier(n);
}
//-----------------------------------------------------------------------------
+void USER_IMPL::AddConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE<bool> * n)
+{
+STG_LOCKER lock(&mutex, __FILE__, __LINE__);
+connected.AddBeforeNotifier(n);
+}
+//-----------------------------------------------------------------------------
+void USER_IMPL::DelConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE<bool> * n)
+{
+STG_LOCKER lock(&mutex, __FILE__, __LINE__);
+connected.DelBeforeNotifier(n);
+}
+//-----------------------------------------------------------------------------
+void USER_IMPL::AddConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE<bool> * n)
+{
+STG_LOCKER lock(&mutex, __FILE__, __LINE__);
+connected.AddAfterNotifier(n);
+}
+//-----------------------------------------------------------------------------
+void USER_IMPL::DelConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE<bool> * n)
+{
+STG_LOCKER lock(&mutex, __FILE__, __LINE__);
+connected.DelAfterNotifier(n);
+}
+//-----------------------------------------------------------------------------
void USER_IMPL::OnAdd()
{
STG_LOCKER lock(&mutex, __FILE__, __LINE__);