forked from qt-creator/qt-creator
Clang: Inline ProjectPartContainer
Change-Id: I4bd55f6be216b1ac99039e74be853c9634ac2fd6 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
@@ -27,59 +27,23 @@
|
||||
|
||||
#include "clangbackendipcdebugutils.h"
|
||||
|
||||
#include <QDataStream>
|
||||
#include <QDebug>
|
||||
|
||||
#include <ostream>
|
||||
|
||||
namespace ClangBackEnd {
|
||||
|
||||
ProjectPartContainer::ProjectPartContainer(const Utf8String &projectPathId,
|
||||
const Utf8StringVector &arguments)
|
||||
: projectPartId_(projectPathId),
|
||||
arguments_(arguments)
|
||||
{
|
||||
}
|
||||
namespace {
|
||||
|
||||
const Utf8String &ProjectPartContainer::projectPartId() const
|
||||
{
|
||||
return projectPartId_;
|
||||
}
|
||||
|
||||
const Utf8StringVector &ProjectPartContainer::arguments() const
|
||||
{
|
||||
return arguments_;
|
||||
}
|
||||
|
||||
|
||||
QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container)
|
||||
{
|
||||
out << container.projectPartId_;
|
||||
out << container.arguments_;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container)
|
||||
{
|
||||
in >> container.projectPartId_;
|
||||
in >> container.arguments_;
|
||||
|
||||
return in;
|
||||
}
|
||||
|
||||
bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second)
|
||||
{
|
||||
return first.projectPartId_ == second.projectPartId_;
|
||||
}
|
||||
|
||||
static Utf8String quotedArguments(const Utf8StringVector &arguments)
|
||||
Utf8String quotedArguments(const Utf8StringVector &arguments)
|
||||
{
|
||||
const Utf8String quote = Utf8String::fromUtf8("\"");
|
||||
const Utf8String joined = arguments.join(quote + Utf8String::fromUtf8(" ") + quote);
|
||||
return quote + joined + quote;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug debug, const ProjectPartContainer &container)
|
||||
{
|
||||
const Utf8String arguments = quotedArguments(container.arguments());
|
||||
|
@@ -29,30 +29,57 @@
|
||||
|
||||
#include <utf8stringvector.h>
|
||||
|
||||
#include <QDataStream>
|
||||
|
||||
namespace ClangBackEnd {
|
||||
|
||||
class CMBIPC_EXPORT ProjectPartContainer
|
||||
class ProjectPartContainer
|
||||
{
|
||||
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container);
|
||||
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container);
|
||||
friend CMBIPC_EXPORT bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second);
|
||||
public:
|
||||
ProjectPartContainer() = default;
|
||||
ProjectPartContainer(const Utf8String &projectPartId,
|
||||
const Utf8StringVector &arguments = Utf8StringVector());
|
||||
const Utf8StringVector &arguments = Utf8StringVector())
|
||||
: projectPartId_(projectPartId),
|
||||
arguments_(arguments)
|
||||
{
|
||||
}
|
||||
|
||||
const Utf8String &projectPartId() const;
|
||||
const Utf8StringVector &arguments() const;
|
||||
const Utf8String &projectPartId() const
|
||||
{
|
||||
return projectPartId_;
|
||||
}
|
||||
|
||||
const Utf8StringVector &arguments() const
|
||||
{
|
||||
return arguments_;
|
||||
}
|
||||
|
||||
friend QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container)
|
||||
{
|
||||
out << container.projectPartId_;
|
||||
out << container.arguments_;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
friend QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container)
|
||||
{
|
||||
in >> container.projectPartId_;
|
||||
in >> container.arguments_;
|
||||
|
||||
return in;
|
||||
}
|
||||
|
||||
friend bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second)
|
||||
{
|
||||
return first.projectPartId_ == second.projectPartId_;
|
||||
}
|
||||
|
||||
private:
|
||||
Utf8String projectPartId_;
|
||||
Utf8StringVector arguments_;
|
||||
};
|
||||
|
||||
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container);
|
||||
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container);
|
||||
CMBIPC_EXPORT bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second);
|
||||
|
||||
QDebug operator<<(QDebug debug, const ProjectPartContainer &container);
|
||||
void PrintTo(const ProjectPartContainer &container, ::std::ostream* os);
|
||||
|
||||
|
Reference in New Issue
Block a user