forked from qt-creator/qt-creator
Allows to fetch further information of an issue and display it inside the output pane. Change-Id: I94ec27b9c060dca9f9523d763b8628a2fce7ca59 Reviewed-by: David Schulz <david.schulz@qt.io>
102 lines
1.7 KiB
C++
102 lines
1.7 KiB
C++
// Copyright (C) 2022 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
|
|
|
|
#pragma once
|
|
|
|
#include <QList>
|
|
|
|
namespace Axivion::Internal {
|
|
|
|
class BaseResult
|
|
{
|
|
public:
|
|
QString error;
|
|
};
|
|
|
|
class Project : public BaseResult
|
|
{
|
|
public:
|
|
QString name;
|
|
QString url;
|
|
};
|
|
|
|
class DashboardInfo : public BaseResult
|
|
{
|
|
public:
|
|
QString mainUrl;
|
|
QList<Project> projects;
|
|
};
|
|
|
|
class User : public BaseResult
|
|
{
|
|
public:
|
|
QString name;
|
|
QString displayName;
|
|
enum UserType { Dashboard, Virtual, Unknown } type;
|
|
};
|
|
|
|
class IssueKind : public BaseResult
|
|
{
|
|
public:
|
|
QString prefix;
|
|
QString niceSingular;
|
|
QString nicePlural;
|
|
};
|
|
|
|
class IssueCount : public BaseResult
|
|
{
|
|
public:
|
|
QString issueKind;
|
|
int total = 0;
|
|
int added = 0;
|
|
int removed = 0;
|
|
};
|
|
|
|
class ResultVersion : public BaseResult
|
|
{
|
|
public:
|
|
QString name;
|
|
QString timeStamp;
|
|
QList<IssueCount> issueCounts;
|
|
int linesOfCode = 0;
|
|
};
|
|
|
|
class ProjectInfo : public BaseResult
|
|
{
|
|
public:
|
|
QString name;
|
|
QList<User> users;
|
|
QList<ResultVersion> versions;
|
|
QList<IssueKind> issueKinds;
|
|
};
|
|
|
|
class ShortIssue : public BaseResult
|
|
{
|
|
public:
|
|
QString id;
|
|
QString state;
|
|
QString errorNumber;
|
|
QString message;
|
|
QString entity;
|
|
QString filePath;
|
|
QString severity;
|
|
int lineNumber = 0;
|
|
};
|
|
|
|
class IssuesList : public BaseResult
|
|
{
|
|
public:
|
|
QList<ShortIssue> issues;
|
|
};
|
|
|
|
namespace ResultParser {
|
|
|
|
DashboardInfo parseDashboardInfo(const QByteArray &input);
|
|
ProjectInfo parseProjectInfo(const QByteArray &input);
|
|
IssuesList parseIssuesList(const QByteArray &input);
|
|
QString parseRuleInfo(const QByteArray &input);
|
|
|
|
} // ResultParser
|
|
|
|
} // Axivion::Internal
|