Browse Source

OutputCallback: Accept std::string argument

pull/325/head
Regina Pfeifer 7 years ago
parent
commit
1180fc8780
  1. 7
      Source/CTest/cmCTestBuildAndTestHandler.cxx
  2. 12
      Source/QtDialog/QCMake.cxx
  3. 4
      Source/QtDialog/QCMake.h
  4. 4
      Source/cmSystemTools.cxx
  5. 2
      Source/cmSystemTools.h

7
Source/CTest/cmCTestBuildAndTestHandler.cxx

@ -123,11 +123,8 @@ public:
s += "\n";
});
cmSystemTools::SetStdoutCallback(
[&s](const char* m, size_t len) { s.append(m, len); });
cmSystemTools::SetStderrCallback(
[&s](const char* m, size_t len) { s.append(m, len); });
cmSystemTools::SetStdoutCallback([&s](std::string const& m) { s += m; });
cmSystemTools::SetStderrCallback([&s](std::string const& m) { s += m; });
this->CM.SetProgressCallback([&s](const char* msg, float /*unused*/) {
s += msg;

12
Source/QtDialog/QCMake.cxx

@ -29,9 +29,9 @@ QCMake::QCMake(QObject* p)
this->messageCallback(msg, title);
});
cmSystemTools::SetStdoutCallback(
[this](const char* msg, size_t len) { this->stdoutCallback(msg, len); });
[this](std::string const& msg) { this->stdoutCallback(msg); });
cmSystemTools::SetStderrCallback(
[this](const char* msg, size_t len) { this->stderrCallback(msg, len); });
[this](std::string const& msg) { this->stderrCallback(msg); });
this->CMakeInstance = new cmake(cmake::RoleProject, cmState::Project);
this->CMakeInstance->SetCMakeEditCommand(
@ -365,15 +365,15 @@ void QCMake::messageCallback(const char* msg, const char* /*title*/)
QCoreApplication::processEvents();
}
void QCMake::stdoutCallback(const char* msg, size_t len)
void QCMake::stdoutCallback(std::string const& msg)
{
emit this->outputMessage(QString::fromLocal8Bit(msg, int(len)));
emit this->outputMessage(QString::fromStdString(msg));
QCoreApplication::processEvents();
}
void QCMake::stderrCallback(const char* msg, size_t len)
void QCMake::stderrCallback(std::string const& msg)
{
emit this->outputMessage(QString::fromLocal8Bit(msg, int(len)));
emit this->outputMessage(QString::fromStdString(msg));
QCoreApplication::processEvents();
}

4
Source/QtDialog/QCMake.h

@ -170,8 +170,8 @@ protected:
bool interruptCallback();
void progressCallback(const char* msg, float percent);
void messageCallback(const char* msg, const char* title);
void stdoutCallback(const char* msg, size_t len);
void stderrCallback(const char* msg, size_t len);
void stdoutCallback(std::string const& msg);
void stderrCallback(std::string const& msg);
bool WarnUninitializedMode;
bool WarnUnusedMode;

4
Source/cmSystemTools.cxx

@ -308,7 +308,7 @@ void cmSystemTools::SetStderrCallback(OutputCallback f)
void cmSystemTools::Stderr(const std::string& s)
{
if (s_StderrCallback) {
s_StderrCallback(s.c_str(), s.length());
s_StderrCallback(s);
} else {
std::cerr << s << std::flush;
}
@ -317,7 +317,7 @@ void cmSystemTools::Stderr(const std::string& s)
void cmSystemTools::Stdout(const std::string& s)
{
if (s_StdoutCallback) {
s_StdoutCallback(s.c_str(), s.length());
s_StdoutCallback(s);
} else {
std::cout << s << std::flush;
}

2
Source/cmSystemTools.h

@ -80,7 +80,7 @@ public:
Message(m.c_str(), title);
}
using OutputCallback = std::function<void(const char*, size_t)>;
using OutputCallback = std::function<void(std::string const&)>;
///! Send a string to stdout
static void Stdout(const std::string& s);

Loading…
Cancel
Save