Ejemplo n.º 1
0
void FileList::Append(const wxString& file, const LineNumberList& bmklns)
{
	m_files += file + wxT("<");
	BOOST_FOREACH (size_t ln, bmklns)
		m_files << ln << wxT("<");
	m_files += wxT("|");

	m_filevec.push_back(FileDesc(file, bmklns));
}
Ejemplo n.º 2
0
void FileList::Init(const wxString& files)
{
	m_files = files;

	wxStringTokenizer tkzfiledescs(files,  wxT("|"));
	while (tkzfiledescs.HasMoreTokens())
	{
		wxStringTokenizer tkz(tkzfiledescs.GetNextToken(), wxT("<"));

		wxString file = tkz.GetNextToken();

		LineNumberList bmklns;
		while (tkz.HasMoreTokens())
		{
			unsigned long ln = 0;
			if (tkz.GetNextToken().ToULong(&ln))
				bmklns.push_back((size_t)ln);
		}

		m_filevec.push_back(FileDesc(file, bmklns));
	}
}
Ejemplo n.º 3
0
	void writeImage(const StorageKey &location, const StorageImageSaved &image, bool overwrite) {
		if (!_working()) return;

		qint32 size = _storageImageSize(image.data.size());
		StorageMap::const_iterator i = _storageMap.constFind(location);
		if (i == _storageMap.cend()) {
			i = _storageMap.insert(location, FileDesc(genKey(), size));
			_storageFilesSize += size;
			_mapChanged = true;
			_writeMap();
		} else if (!overwrite) {
			return;
		}
		EncryptedDescriptor data(sizeof(quint64) * 2 + sizeof(quint32) + sizeof(quint32) + image.data.size());
		data.stream << quint64(location.first) << quint64(location.second) << quint32(image.type) << image.data;
		FileWriteDescriptor file(i.value().first, false);
		file.writeEncrypted(data);
		if (i.value().second != size) {
			_storageFilesSize += size;
			_storageFilesSize -= i.value().second;
			_storageMap[location].second = size;
		}
	}
Ejemplo n.º 4
0
EventLoop::EventLoop()
    : quit_(true)
    , wakeupChannel_(this, FileDesc(eventfd(0, EFD_NONBLOCK | FD_CLOEXEC)))
    , logger_(log::Logger::get().getLogger("EventLoop")) {
    wakeupChannel_.enableRead();
}