Exemplo n.º 1
0
void SelectionHandler::CopySelection()
{
	if (m_selectionState < selstateSelecting) return;

	{
		SharedMemoryLock	memLock(m_consoleCopyInfo);
		
		GetSelectionCoordinates(m_consoleCopyInfo->coordStart, m_consoleCopyInfo->coordEnd);

		m_consoleCopyInfo->bNoWrap		= g_settingsHandler->GetBehaviorSettings().copyPasteSettings.bNoWrap;
		m_consoleCopyInfo->bTrimSpaces	= g_settingsHandler->GetBehaviorSettings().copyPasteSettings.bTrimSpaces;
		m_consoleCopyInfo->copyNewlineChar= g_settingsHandler->GetBehaviorSettings().copyPasteSettings.copyNewlineChar;
    _snprintf_s(
      m_consoleCopyInfo->szFontName, sizeof(m_consoleCopyInfo->szFontName),
      _TRUNCATE,
      "%ws",
      g_settingsHandler->GetAppearanceSettings().fontSettings.strName.c_str());
    m_consoleCopyInfo->bBold = g_settingsHandler->GetAppearanceSettings().fontSettings.bBold;
    m_consoleCopyInfo->bItalic = g_settingsHandler->GetAppearanceSettings().fontSettings.bItalic;
    m_consoleCopyInfo->dwSize  = g_settingsHandler->GetAppearanceSettings().fontSettings.dwSize * 2;
    ::CopyMemory(m_consoleCopyInfo->consoleColors, m_tabData->consoleColors, sizeof(m_consoleCopyInfo->consoleColors));

		m_consoleCopyInfo.SetReqEvent();
	}

	::WaitForSingleObject(m_consoleCopyInfo.GetRespEvent(), INFINITE);
}
Exemplo n.º 2
0
    void *getDevicePtr(const Array<T>& arr)
    {
        T *ptr = arr.device();
        memLock(ptr);

        return (void *)ptr;
    }
Exemplo n.º 3
0
void Utils::freeBuffer(ByteBuf_t b, size_t len){
    boost::lock_guard<boost::mutex> memLock(AllocatedBuffer::s_memCVMutex);
    AllocatedBuffer::s_allocatedMem -= len;
    free(b);
    size_t safeSize = DrillClientConfig::getBufferLimit() - MEM_CHUNK_SIZE;
    if (b != NULL && AllocatedBuffer::s_allocatedMem < safeSize){
        AllocatedBuffer::s_isBufferLimitReached = false;
        //signal any waiting threads
        AllocatedBuffer::s_memCV.notify_one();
    }
}
Exemplo n.º 4
0
ByteBuf_t Utils::allocateBuffer(size_t len){
    boost::lock_guard<boost::mutex> memLock(AllocatedBuffer::s_memCVMutex);
    AllocatedBuffer::s_allocatedMem += len;
    //http://stackoverflow.com/questions/2688466/why-mallocmemset-is-slower-than-calloc
    ByteBuf_t b = (ByteBuf_t)calloc(len, sizeof(Byte_t));
    size_t safeSize = DrillClientConfig::getBufferLimit() - MEM_CHUNK_SIZE;
    if (b != NULL && AllocatedBuffer::s_allocatedMem >= safeSize){
        AllocatedBuffer::s_isBufferLimitReached = true;
    }
    return b;
}
Exemplo n.º 5
0
void Utils::parseConnectStr(const char* connectStr,
  std::string& pathToDrill,
  std::string& protocol,
  std::string& hostPortStr){
    boost::lock_guard<boost::mutex> memLock(s_utilMutex);
    char u[MAX_CONNECT_STR + 1];
    strncpy(u, connectStr, MAX_CONNECT_STR); u[MAX_CONNECT_STR] = 0;
    char* z = strtok(u, "=");
    char* c = strtok(NULL, "/");
    char* p = strtok(NULL, "");

    if (p != NULL) pathToDrill = std::string("/") + p;
    protocol = z; hostPortStr = c;
    return;
}
Exemplo n.º 6
0
void ConsoleHandler::SendMouseEvent(const COORD& mousePos, DWORD dwMouseButtonState, DWORD dwControlKeyState, DWORD dwEventFlags)
{
	{
		SharedMemoryLock	memLock(m_consoleMouseEvent);

		// TODO: implement
		m_consoleMouseEvent->dwMousePosition	= mousePos;
		m_consoleMouseEvent->dwButtonState		= dwMouseButtonState;
		m_consoleMouseEvent->dwControlKeyState	= dwControlKeyState;
		m_consoleMouseEvent->dwEventFlags		= dwEventFlags;

		m_consoleMouseEvent.SetReqEvent();
	}

	::WaitForSingleObject(m_consoleMouseEvent.GetRespEvent(), INFINITE);
}