void TGlobalStatistics::append(const TStat& Stat)
{
    TSharedMemoryLocker Locker(m_pSharedMemory);
    Q_UNUSED(Locker);

    if (m_pStat2 != NULL)
    {
        if (m_pStat2->Readed)
            *m_pStat2 += Stat;
        else
            qWarning("TGlobalStatistics::append. Data not readed.");
    }
    else {
        qWarning("TGlobalStatistics::append. Data pointer is NULL.");
    }
}
Exemplo n.º 2
0
IFaces::RetCode IStatementImpl::Fetch()
{
  Common::ISyncObject Locker(GetSynObj());
  if (!Statement.Get())
    return IFaces::retFail;
  try
  {
    if (!Statement->Fetch())
      return IFaces::retFalse;
  }
  catch (std::exception &)
  {
    return IFaces::retFail;
  }
  return IFaces::retOk;
}
Exemplo n.º 3
0
 RetCode IStreamFileImpl::GetSize(unsigned long *size) const
 {
   if (!size)
     return retBadParam;
   Common::ISyncObject Locker(GetSynObj());
   if (!File.Get())
     return retFail;
   try
   {
     *size = File->GetSize();
   }
   catch (std::exception &)
   {
     return retFail;
   }
   return retOk;
 }
Exemplo n.º 4
0
	bool KillTimer(int timerID)
	{
		CCriticalSectionLocker Locker(m_ClientsLock);

        int i;
		for (i = 0; (unsigned int)i < m_ClientVector.size(); ++i)
		{
			//const ObjectData& Data = m_Objects2[i];
			if(m_ClientVector[i].TimerID == timerID)
			{
				m_ClientVector.erase(m_ClientVector.begin() + i);
                return true;
			}
		}
        LogEvent(LE_ERROR, "CTimerWnd::KillTimer() failed to kill timer %d", timerID);
		return false;
	}
Exemplo n.º 5
0
 // -------------------------------------------------------------
 void TRasterMapsDialog::keyReleaseEvent(QKeyEvent *Event_)
 {
 switch(Event_->key()) {
 case Qt::Key_Control:
    {
    QMutexLocker Locker(&m_KeyControlMutex);
    if(m_Mode == Consts::LinkingMode && m_KeyControlPressed) {
       m_KeyControlPressed = false;
       w_MapWidget->restoreMouseMode();
       popHint();
       }
    break;
    }
 default:
    break;
    }
 }
Exemplo n.º 6
0
IFaces::RetCode IStatementImpl::ExecuteDirect(const char *str)
{
  if (!str)
    return IFaces::retBadParam;
  Common::ISyncObject Locker(GetSynObj());
  if (!Statement.Get())
    return IFaces::retFail;
  try
  {
    Statement->ExecuteDirect(str);
  }
  catch (std::exception &)
  {
    return IFaces::retFail;
  }
  return IFaces::retOk;
}
Exemplo n.º 7
0
IFaces::RetCode IStatementImpl::GetFieldsCount(unsigned *count) const
{
  if (!count)
    return IFaces::retBadParam;
  Common::ISyncObject Locker(GetSynObj());
  if (!Statement.Get())
    return IFaces::retFail;
  try
  {
    *count = Statement->GetFieldsCount();
  }
  catch (std::exception &)
  {
    return IFaces::retFail;
  }
  return IFaces::retOk;
}
Exemplo n.º 8
0
 RetCode IStreamFileImpl::Read(void *buf, unsigned long bufSize, unsigned long *readBytes)
 {
   if (!readBytes)
     return retBadParam;
   Common::ISyncObject Locker(GetSynObj());
   if (!File.Get())
     return retFail;
   try
   {
     *readBytes = File->Read(buf, bufSize);
   }
   catch (std::exception &)
   {
     return retFail;
   }
   return retOk;
 }
Exemplo n.º 9
0
ELTE_INT32 CEventMgr::PushEvent(ELTE_INT32 iEventType, const ELTE_VOID* pEventData, ELTE_UINT32 uiBufSize)
{
	MutexLocker Locker(m_MutexEventQueue);

	EVENT_DATA* pstEventData = new EVENT_DATA;
	if(NULL == pstEventData)
	{
		LOG_RUN_ERROR("New eventdata failed.");
		return eLTE_SDK_ERR_CREATE_OBJECT;
	}

	eSDK_MEMSET(pstEventData, 0x0, sizeof(EVENT_DATA));
	pstEventData->iEventType = iEventType;

	if(NULL != pEventData)
	{
		ELTE_CHAR* pEventBuf = new ELTE_CHAR[uiBufSize + 1];
		if(NULL == pEventBuf)
		{
			delete pstEventData;
			LOG_RUN_ERROR("New event data buffer failed.");
			return eLTE_SDK_ERR_FAILED;
		}
		eSDK_MEMSET(pEventBuf, 0x00, uiBufSize + 1);
		eSDK_MEMCPY(pEventBuf, uiBufSize + 1, pEventData, uiBufSize);
		pstEventData->pEventData = (ELTE_VOID*)pEventBuf;
		pstEventData->uiBufSize = uiBufSize + 1;
	}
	if(MAX_EVENT_QUEUE_LEN <= m_eventQueue.size())
	{
		LOG_RUN_DEBUG("Event queue is over max size[%d], front event will be discarded", MAX_EVENT_QUEUE_LEN);
		EVENT_DATA* pstEventFront = m_eventQueue.front();
		if(NULL != pstEventFront && NULL != pstEventFront->pEventData)
		{
			delete [] ((ELTE_CHAR*)(pstEventFront->pEventData));
			pstEventFront->pEventData = NULL;

			delete pstEventFront;
			pstEventFront = NULL;
		}//lint !e438
		m_eventQueue.pop();
	}//lint !e438

	m_eventQueue.push(pstEventData);
	return eLTE_SDK_ERR_SUCCESS;//lint !e429
}
Exemplo n.º 10
0
	UINT AddTimer(UINT ElapseInMilli, ITimerManagerEvents *Sink)
	{
		CCriticalSectionLocker Locker(m_ClientsLock);
		if (!Sink)
		{
			LogEvent(LE_ERROR, "CTimerWnd::AddTimer: Sink=NULL\n");
			return 0;
		}

		int NewID = GetNextTimerID();
		ClientData NewClient(NewID, Sink, ElapseInMilli);

		m_ClientVector.push_back(NewClient);
#ifdef _DEBUG
        m_ClientVector.reserve(1000);
#endif		
		return NewClient.TimerID;
	}
Exemplo n.º 11
0
bool CFileHashSet::SetHashSet(const QList<QByteArray>& HashSet)
{
	ASSERT(!CanHashParts());
	if(HashSet.size() != GetPartCount() || HashSet.isEmpty() || HashSet.at(0).size() != m_uSize)
	{
		ASSERT(0);
		return false;
	}

	m_HashSet.reserve(HashSet.size());
	foreach(const QByteArray& Hash, HashSet)
	{
		byte* pHash = (byte*)hash_malloc(m_uSize);
		memcpy(pHash,Hash.data(),m_uSize);

		QWriteLocker Locker(&m_SetMutex);
		m_HashSet.append(pHash);
	}
Exemplo n.º 12
0
IFaces::RetCode IStatementImpl::GetParameter(unsigned index, IFaces::DBIFaces::IParameter **prm)
{
  if (!prm || *prm)
    return IFaces::retBadParam;
  Common::ISyncObject Locker(GetSynObj());
  if (!Statement.Get())
    return IFaces::retFail;
  try
  {
    Common::RefObjPtr<IParameterImpl> NewPrm = Common::IBaseImpl<IParameterImpl>::CreateWithSyn(GetSynObj());
    NewPrm->Init(Connection, Statement, index);
    return NewPrm.QueryInterface(prm);
  }
  catch (std::exception &)
  {
  }
  return IFaces::retFail;
}
Exemplo n.º 13
0
IFaces::RetCode IStatementImpl::GetField(unsigned index, IFaces::DBIFaces::IField **fld) const
{
  if (!fld || *fld)
    return IFaces::retBadParam;
  Common::ISyncObject Locker(GetSynObj());
  if (!Statement.Get())
    return IFaces::retFail;
  try
  {
    Common::RefObjPtr<IFieldImpl> NewFld = Common::IBaseImpl<IFieldImpl>::CreateWithSyn(GetSynObj());
    NewFld->Init(Connection, Statement, index);
    return NewFld.QueryInterface(fld);
  }
  catch (std::exception &)
  {
  }
  return IFaces::retFail;
}
Exemplo n.º 14
0
// virtual
void CopasiPlot::replot()
{
  if (mNextPlotTime < CCopasiTimeVariable::getCurrentWallTime())
    {
      CCopasiTimeVariable Delta = CCopasiTimeVariable::getCurrentWallTime();

      {
        QMutexLocker Locker(&mMutex);
        updateCurves(C_INVALID_INDEX);
      }

      QwtPlot::replot();

      Delta = CCopasiTimeVariable::getCurrentWallTime() - Delta;
      mNextPlotTime = CCopasiTimeVariable::getCurrentWallTime() + 3 * Delta.getMicroSeconds();
    }

  mReplotFinished = true;
}
Exemplo n.º 15
0
void CMiniUPnP::closeOld()
{
	QMutexLocker Locker(&m_Mutex);
	while(!m_OldPorts.isEmpty())
	{
		SPort* Port = m_OldPorts.takeFirst();

		Port->Enabled = false;

		Locker.unlock();
		
		DoForwarding(Port);

		upnpClose(Port->pUPnP);
		natpmpClose(Port->pNatPMP);

		Locker.relock();
	}
}
Exemplo n.º 16
0
ELTE_INT32 CMediaMgr::StopRealPlay(const ELTE_CHAR* pResourceID) const
{
	LOG_TRACE();
	if(NULL == m_pUserMgr)
	{
		LOG_RUN_ERROR("UserMgr is null.");
		return eLTE_SDK_ERR_NULL_POINTER;
	}

	CXml reqXml;
	(void)reqXml.AddElem("Content");
	(void)reqXml.AddChildElem("ResourceID");
	(void)reqXml.IntoElem();
	(void)reqXml.SetElemValue(pResourceID);

	//发送消息
	SSL_Socket& socket = const_cast<SSL_Socket&>(m_pUserMgr->GetSSLSocket());
	MutexLocker Locker(m_pUserMgr->GetMutexHandle());
	ELTE_INT32 iRet = socket.SendMsg(ELTE_SERVICE_STOPREALPLAY_REQ, reqXml, TRUE);
	if(eLTE_SDK_ERR_SUCCESS != iRet) 
	{
		return iRet;
	}
	iRet = m_pUserMgr->WaitObject(WAIT_OBJECT_TIME);
	if (eLTE_SDK_ERR_SUCCESS != iRet)
	{
		CServerMgr& serverMgr = const_cast<CServerMgr&>(m_pUserMgr->GetServerMgr());
		if(!serverMgr.ServerIsRunning() || 0 != m_pUserMgr->GetServerStatus())
		{
			m_pUserMgr->SetServerStatus(0);
			return eLTE_SDK_ERR_SERVER_NOT_RUNNING;
		}
		return iRet;
	}
	iRet = m_pUserMgr->GetPacketData().RspCode;
	::ResetEvent(m_pUserMgr->GetEventHandle());
	if(eLTE_SDK_ERR_SUCCESS == iRet && !CUserMgr::m_iBypass)
	{
		SharedMemoryMgr::Instance().DeleteSharedMemory(pResourceID);
	}
	return iRet;
}
Exemplo n.º 17
0
ELTE_INT32 CMediaMgr::PTZControl(const ELTE_CHAR* pResourceID, ELTE_UINT32 iPTZControlCode, ELTE_UINT32 iPTZControlValue) const
{
	LOG_TRACE();
	if(NULL == m_pUserMgr)
	{
		LOG_RUN_ERROR("UserMgr is null.");
		return eLTE_SDK_ERR_NULL_POINTER;
	}

	CXml reqXml;
	(void)reqXml.AddElem("Content");
	(void)reqXml.AddChildElem("ResourceID");
	(void)reqXml.IntoElem();
	(void)reqXml.SetElemValue(pResourceID);
	(void)reqXml.AddElem("PTZControlCode");
	(void)reqXml.SetElemValue(eLTE_Tool::UInt2String(iPTZControlCode).c_str());
	(void)reqXml.AddElem("PTZControlValue");
	(void)reqXml.SetElemValue(eLTE_Tool::UInt2String(iPTZControlValue).c_str());

	//发送消息
	SSL_Socket& socket = const_cast<SSL_Socket&>(m_pUserMgr->GetSSLSocket());
	MutexLocker Locker(m_pUserMgr->GetMutexHandle());
	ELTE_INT32 iRet = socket.SendMsg(ELTE_SERVICE_PTZCONTROL_REQ, reqXml, TRUE);
	if(eLTE_SDK_ERR_SUCCESS != iRet) 
	{
		return iRet;
	}
	iRet = m_pUserMgr->WaitObject(WAIT_OBJECT_TIME);
	if (eLTE_SDK_ERR_SUCCESS != iRet)
	{
		CServerMgr& serverMgr = const_cast<CServerMgr&>(m_pUserMgr->GetServerMgr());
		if(!serverMgr.ServerIsRunning() || 0 != m_pUserMgr->GetServerStatus())
		{
			m_pUserMgr->SetServerStatus(0);
			return eLTE_SDK_ERR_SERVER_NOT_RUNNING;
		}
		return iRet;
	}
	iRet = m_pUserMgr->GetPacketData().RspCode;
	::ResetEvent(m_pUserMgr->GetEventHandle());
	return iRet;
}
Exemplo n.º 18
0
void CLogger::AddLogLine(time_t uStamp, uint32 uFlag, const CLogMsg& Line)
{
	CLog::AddLogLine(uStamp, uFlag, Line);

	if((uFlag & LOG_EXT) != 0)
		return;

#ifndef win32
    QDateTime then = QDateTime::fromTime_t(uStamp).toLocalTime();
    qDebug() << then.toString().append(": ").append(Line.Print());
#endif

	QMutexLocker Locker(&m_LogMutex);
	if (m_LogStream)
	{
		QDateTime then = QDateTime::fromTime_t(uStamp).toLocalTime();
		*m_LogStream << then.toString().append(": ").append(Line.Print());
		endl(*m_LogStream);
	}
}
Exemplo n.º 19
0
   // -------------------------------------------------------------
   void TRasterMapsDialog::keyPressEvent(QKeyEvent *Event_)
   {
   switch(Event_->key()) {
   case Qt::Key_Control:
      {
      QMutexLocker Locker(&m_KeyControlMutex);
      if(m_Mode == Consts::LinkingMode && m_MapAnchors.size() < 3) {
         m_KeyControlPressed = true;
         w_MapWidget->saveMouseMode();
         w_MapWidget->setMouseMode(TMapControl::SelectPoint);
         pushHint();
         hint(QNetMapTranslator::tr("Click left mouse button on the reference point" 
				/* Ru: Выберите точку привязки и щелкните мышью */));
         }
      break;
      }
   default:
      break;
      }
   }
Exemplo n.º 20
0
bool CNeoCore::CheckLogin(const QString &LoginToken)
{
	QMutexLocker Locker(&m_Mutex);

	//if(Cfg(false)->GetString("Core/UserName").isEmpty() && Cfg(false)->GetString("Core/Password").isEmpty())
	if(Cfg(false)->GetString("Core/Password").isEmpty())
		return true;
	if(m_Logins.contains(LoginToken))
	{
		if(m_Logins.value(LoginToken) + Cfg(false)->GetUInt("Core/TockenTimeOut") > GetTime()
		 || m_Server->HasLoginToken(LoginToken)) // in this order the slower server sheck will be done selfom if at all
		{
			m_Logins[LoginToken] = GetTime();
			return true;
		}
		m_Logins.remove(LoginToken);
		Locker.unlock();
		SaveLoginTokens();
	}
	return false;
}
Exemplo n.º 21
0
int CMiniUPnP::GetStaus(const QString& Name, int* pPort, QString* pProtoStr)
{
	QMutexLocker Locker(&m_Mutex);

	SPort* Port = m_Ports.value(Name);
	if(!Port)
		return -1;

	if(pPort)
		*pPort = Port->Port;
	if(pProtoStr)
	{
		switch(Port->Proto)
		{
		case PORT_TCP: *pProtoStr = "TCP"; break;
		case PORT_UDP: *pProtoStr = "UDP"; break;
		}
	}

	return Port->Status;
}
Exemplo n.º 22
0
// virtual
bool CProgressBar::setName(const std::string & name)
{
  if (mpMainThread != NULL &&
      QThread::currentThread() != mpMainThread)
    {
      QMutexLocker Locker(&mMutex);
      mSlotFinished = false;

      emit signalSetName(FROM_UTF8(name));

      if (!mSlotFinished)
        {
          mWaitSlot.wait(&mMutex);
        }
    }
  else
    {
      slotSetName(FROM_UTF8(name));
    }

  return true;
}
Exemplo n.º 23
0
 RetCode IStreamFileImpl::Write(const void *buf, unsigned long bytes)
 {
   Common::ISyncObject Locker(GetSynObj());
   if (!File.Get())
     return retFail;
   try
   {
     const char *Buf = reinterpret_cast<const char *>(buf);
     for (unsigned long i = bytes ; i ; )
     {
       unsigned long WriteBytes = File->Write(&Buf[bytes - i], i);
       if (!WriteBytes)
         return retFalse;
       i -= WriteBytes;
     }
   }
   catch (std::exception &)
   {
     return retFail;
   }
   return retOk;
 }
Exemplo n.º 24
0
ELTE_VOID CEventMgr::ClearEvents()
{
	MutexLocker Locker(m_MutexEventQueue);
	
	while(!m_eventQueue.empty())
	{
		EVENT_DATA* pstEventFront = m_eventQueue.front();
		
		if(NULL != pstEventFront)
		{	
			ELTE_CHAR* pTmp = (ELTE_CHAR*)(pstEventFront->pEventData);
			if(NULL != pTmp)
			{
				delete [] pTmp;
				pTmp = NULL;
			}
			delete pstEventFront;
			pstEventFront = NULL;
		}//lint !e438
		m_eventQueue.pop();
	}//lint !e438
}
Exemplo n.º 25
0
ArpRef<AmFilterAddOn> AmFilterRoster::FindFilterAddOn(const BMessage* config) const
{
	BAutolock _l(Locker());
	
	AmFilterAddOnHandle* match = NULL;
	float matchQuality = -1;
	
	const int32 N = CountAddOns();
	for (int32 i=0; i<N; i++) {
		BAddOnHandle* h = AddOnAt(i);
		AmFilterAddOnHandle* fh = dynamic_cast<AmFilterAddOnHandle*>(h);
		if (fh) {
			float q = fh->CheckInstantiation(config);
			if (q >= 0 && q > matchQuality) {
				matchQuality = q;
				match = fh;
			}
		}
	}
	
	if (match) return match->Instantiate();
	return ArpRef<AmFilterAddOn>();
}
Exemplo n.º 26
0
bool CProgressBar::progressItem(const unsigned C_INT32 & handle)
{
  if (!isValidHandle(handle) || mProgressItemList[handle] == NULL) return false;

  QDateTime currDateTime = QDateTime::currentDateTime();

  if (mNextEventProcessing >= currDateTime)
    return mProceed;

  mNextEventProcessing = currDateTime.addSecs(1);

  if (mPause)
    {
      mWaitPause.wait(&mMutex);
    }

  if (mpMainThread != NULL &&
      QThread::currentThread() != mpMainThread)
    {
      QMutexLocker Locker(&mMutex);
      mSlotFinished = false;

      emit signalProgressAll();

      if (!mSlotFinished)
        {
          mWaitSlot.wait(&mMutex);
        }
    }
  else
    {
      slotProgressAll();
    }

  return mProceed;
}
Exemplo n.º 27
0
bool CProgressBar::finishItem(const unsigned C_INT32 & handle)
{
  if (!isValidHandle(handle) || mProgressItemList[handle] == NULL) return false;

  if (mpMainThread != NULL &&
      QThread::currentThread() != mpMainThread)
    {
      QMutexLocker Locker(&mMutex);
      mSlotFinished = false;

      emit signalFinishItem(handle);

      if (!mSlotFinished)
        {
          mWaitSlot.wait(&mMutex);
        }
    }
  else
    {
      slotFinishItem(handle);
    }

  return (CProcessReport::finishItem(handle) && mProceed);
}
Exemplo n.º 28
0
 void Inc()
 {
   Common::SyncObject<System::Mutex> Locker(Mtx);
   ++Counter;
 }
Exemplo n.º 29
0
 void Dec()
 {
   Common::SyncObject<System::Mutex> Locker(Mtx);
   --Counter;
 }
Exemplo n.º 30
0
 unsigned long GetCounter()
 {
   Common::SyncObject<System::Mutex> Locker(Mtx);
   return Counter;
 }