TimerPool fixoutManipulator

git-svn-id: svn://db.shs.com.ru/pip@74 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
2015-04-07 13:40:17 +00:00
parent 0f4e2b5f4c
commit 529b3c615f
3 changed files with 11 additions and 9 deletions

View File

@@ -217,9 +217,9 @@ PIByteArray PIFile::readAll(bool forceRead) {
llong PIFile::size() const {
if (!opened_) return -1;
llong s, cp = pos();
lseek64(fdi, 0, SEEK_END); clearerr(fd);
fseeko64(fd, 0, SEEK_END); clearerr(fd);
s = pos();
lseek64(fdi, cp, SEEK_SET); clearerr(fd);
fseeko64(fd, cp, SEEK_SET); clearerr(fd);
return s;
}
@@ -278,21 +278,21 @@ void PIFile::flush() {
void PIFile::seek(llong position) {
if (!opened_) return;
lseek64(fdi, position, SEEK_SET);
fseeko64(fd, position, SEEK_SET);
clearerr(fd);
}
void PIFile::seekToBegin() {
if (!opened_) return;
lseek64(fdi, 0, SEEK_SET);
fseeko64(fd, 0, SEEK_SET);
clearerr(fd);
}
void PIFile::seekToEnd() {
if (!opened_) return;
lseek64(fdi, 0, SEEK_END);
fseeko64(fd, 0, SEEK_END);
clearerr(fd);
}
@@ -318,7 +318,7 @@ void PIFile::setPath(const PIString & path) {
llong PIFile::pos() const {
if (!opened_) return -1;
return ftell(fd);
return ftello64(fd);
}

View File

@@ -8,6 +8,7 @@ extern PIScreen screen;
Daemon::Remote::Remote(const PIString & n): PIThread() {
setName(n);
ft.setName(n);
ft.setPacketSize(4000);
CONNECTU(&ft, sendRequest, this, ftSendRequest)
CONNECTU(&ft, receiveFinished, this, ftReceived)
dir_my = PIDir::current();

View File

@@ -70,9 +70,10 @@ private:
Remote(const PIString & n = PIString());
void sendData(const PIByteArray & d) {_d = d; startOnce();}
EVENT_HANDLER1(void, ftSendRequest, PIByteArray &, data) {sendRequest(name(), data);}
//EVENT1(ftReceived, const PIString & , name)
EVENT2(sendRequest, const PIString & , name, PIByteArray &, data)
EVENT1(receiveFinished, bool, ok)
EVENT_HANDLER1(void, ftReceived, bool, ok) {receiveFinished(name(), ok);}
EVENT2(sendRequest, const PIString & , name, const PIByteArray &, data)
EVENT2(receiveFinished, const PIString & , name, bool, ok)
EVENT_HANDLER1(void, received, const PIByteArray & , data) {ft.received(data);}
PIDir dir_my, dir_remote;