streamconnectionreader.cpp
来自「一个语言识别引擎」· C++ 代码 · 共 67 行
CPP
67 行
// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
/*
* Copyright (C) 2006 Paul Fitzpatrick
* CopyPolicy: Released under the terms of the GNU GPL v2.0.
*
*/
#include <yarp/BufferedConnectionWriter.h>
#include <yarp/StreamConnectionReader.h>
#include <yarp/NetType.h>
#include <yarp/BufferedConnectionWriter.h>
#include <yarp/os/Bottle.h>
using namespace yarp;
using namespace yarp::os;
yarp::os::ConnectionWriter *StreamConnectionReader::getWriter() {
if (str==NULL) {
return NULL;
}
if (writer==NULL) {
writer = new BufferedConnectionWriter;
YARP_ASSERT(writer!=NULL);
writer->reset(isTextMode());
}
writer->clear();
return writer;
}
void StreamConnectionReader::flushWriter() {
if (writer!=NULL) {
if (str!=NULL) {
writer->write(str->getOutputStream());
writer->clear();
}
}
}
StreamConnectionReader::~StreamConnectionReader() {
if (writer!=NULL) {
delete writer;
writer = NULL;
}
}
bool StreamConnectionReader::convertTextMode() {
Bottle bot;
if (isTextMode()) {
bot.read(*this);
BufferedConnectionWriter writer;
bot.write(writer);
String s = writer.toString();
altStream.reset(s);
in = &altStream;
}
return true;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?