Commit 974070d2 authored by Marco Bubke's avatar Marco Bubke
Browse files

Clang: Use MessageEnvelop instead of QVariant



QVariant has unwanted dependencies so we provided our own simpler solution.
We want to support move only types and calling the copy constructor as you
move the value in and outside. This copying is adding unwanted overhead
too.

Change-Id: I2e27a7924868efe81e8b8ff3415499c9fa22c2bc
Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
parent c3bbf389
......@@ -14,7 +14,6 @@ SOURCES += $$PWD/ipcserverinterface.cpp \
$$PWD/cmbendmessage.cpp \
$$PWD/cmbalivemessage.cpp \
$$PWD/ipcclientproxy.cpp \
$$PWD/cmbmessages.cpp \
$$PWD/writemessageblock.cpp \
$$PWD/readmessageblock.cpp \
$$PWD/ipcinterface.cpp \
......@@ -57,7 +56,6 @@ HEADERS += \
$$PWD/cmbendmessage.h \
$$PWD/cmbalivemessage.h \
$$PWD/ipcclientproxy.h \
$$PWD/cmbmessages.h \
$$PWD/writemessageblock.h \
$$PWD/readmessageblock.h \
$$PWD/ipcinterface.h \
......@@ -77,7 +75,6 @@ HEADERS += \
$$PWD/codecompletionchunk.h \
$$PWD/projectpartcontainer.h \
$$PWD/projectpartsdonotexistmessage.h \
$$PWD/container_common.h \
$$PWD/clangbackendipc_global.h \
$$PWD/lineprefixer.h \
$$PWD/clangbackendipcdebugutils.h \
......@@ -93,6 +90,7 @@ HEADERS += \
$$PWD/updatetranslationunitsforeditormessage.h \
$$PWD/updatevisibletranslationunitsmessage.h \
$$PWD/highlightingchangedmessage.h \
$$PWD/highlightingmarkcontainer.h
$$PWD/highlightingmarkcontainer.h \
$$PWD/messageenvelop.h
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
......@@ -79,5 +79,49 @@ enum class CompletionCorrection
DotToArrowCorrection
};
enum class MessageType : quint8 {
InvalidMessage,
AliveMessage,
EchoMessage,
EndMessage,
RegisterTranslationUnitForEditorMessage,
UpdateTranslationUnitsForEditorMessage,
UnregisterTranslationUnitsForEditorMessage,
RegisterUnsavedFilesForEditorMessage,
UnregisterUnsavedFilesForEditorMessage,
RegisterProjectPartsForEditorMessage,
UnregisterProjectPartsForEditorMessage,
RequestDiagnosticsMessage,
DiagnosticsChangedMessage,
RequestHighlightingMessage,
HighlightingChangedMessage,
UpdateVisibleTranslationUnitsMessage,
CompleteCodeMessage,
CodeCompletedMessage,
TranslationUnitDoesNotExistMessage,
ProjectPartsDoNotExistMessage
};
template<MessageType messageEnumeration>
struct MessageTypeTrait;
template<class Message>
struct MessageTrait;
#define DECLARE_MESSAGE(Message) \
template<> \
struct MessageTrait<Message> \
{ \
static const MessageType enumeration = MessageType::Message; \
};
}
#endif // CLANGBACKENDIPC_GLOBAL_H
......@@ -45,11 +45,6 @@ bool operator==(const AliveMessage &/*first*/, const AliveMessage &/*second*/)
return true;
}
bool operator<(const AliveMessage &/*first*/, const AliveMessage &/*second*/)
{
return true;
}
QDebug operator<<(QDebug debug, const AliveMessage &/*message*/)
{
return debug.nospace() << "AliveMessage()";
......
......@@ -28,8 +28,6 @@
#include "clangbackendipc_global.h"
#include <QMetaType>
namespace ClangBackEnd {
class CMBIPC_EXPORT AliveMessage
......@@ -39,12 +37,10 @@ class CMBIPC_EXPORT AliveMessage
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const AliveMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, AliveMessage &message);
CMBIPC_EXPORT bool operator==(const AliveMessage &first, const AliveMessage &second);
CMBIPC_EXPORT bool operator<(const AliveMessage &first, const AliveMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const AliveMessage &message);
DECLARE_MESSAGE(AliveMessage)
}
Q_DECLARE_METATYPE(ClangBackEnd::AliveMessage)
#endif // CMBALIVEMESSAGE_H
......@@ -86,11 +86,6 @@ bool operator==(const CodeCompletedMessage &first, const CodeCompletedMessage &s
&& first.codeCompletions_ == second.codeCompletions_;
}
bool operator<(const CodeCompletedMessage &first, const CodeCompletedMessage &second)
{
return first.ticketNumber_ < second.ticketNumber_;
}
#define RETURN_TEXT_FOR_CASE(enumValue) case CompletionCorrection::enumValue: return #enumValue
static const char *completionCorrectionToText(CompletionCorrection correction)
{
......
......@@ -28,7 +28,6 @@
#include "codecompletion.h"
#include <QMetaType>
#include <QVector>
namespace ClangBackEnd {
......@@ -38,7 +37,6 @@ class CMBIPC_EXPORT CodeCompletedMessage
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const CodeCompletedMessage &message);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, CodeCompletedMessage &message);
friend CMBIPC_EXPORT bool operator==(const CodeCompletedMessage &first, const CodeCompletedMessage &second);
friend CMBIPC_EXPORT bool operator<(const CodeCompletedMessage &first, const CodeCompletedMessage &second);
friend CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CodeCompletedMessage &message);
friend void PrintTo(const CodeCompletedMessage &message, ::std::ostream* os);
public:
......@@ -64,13 +62,11 @@ private:
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const CodeCompletedMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, CodeCompletedMessage &message);
CMBIPC_EXPORT bool operator==(const CodeCompletedMessage &first, const CodeCompletedMessage &second);
CMBIPC_EXPORT bool operator<(const CodeCompletedMessage &first, const CodeCompletedMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CodeCompletedMessage &message);
void PrintTo(const CodeCompletedMessage &message, ::std::ostream* os);
DECLARE_MESSAGE(CodeCompletedMessage)
} // namespace ClangBackEnd
Q_DECLARE_METATYPE(ClangBackEnd::CodeCompletedMessage)
#endif // CLANGBACKEND_CODECOMPLETEDMESSAGE_H
......@@ -99,15 +99,6 @@ bool operator==(const CompleteCodeMessage &first, const CompleteCodeMessage &sec
&& first.column_ == second.column_;
}
bool operator<(const CompleteCodeMessage &first, const CompleteCodeMessage &second)
{
return first.ticketNumber_ < second.ticketNumber_
&& first.filePath_ < second.filePath_
&& first.projectPartId_ < second.projectPartId_
&& first.line_ < second.line_
&& first.column_ < second.column_;
}
QDebug operator<<(QDebug debug, const CompleteCodeMessage &message)
{
debug.nospace() << "CompleteCodeMessage(";
......
......@@ -30,8 +30,6 @@
#include <utf8string.h>
#include <QMetaType>
namespace ClangBackEnd {
class CMBIPC_EXPORT CompleteCodeMessage
......@@ -39,7 +37,6 @@ class CMBIPC_EXPORT CompleteCodeMessage
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const CompleteCodeMessage &message);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, CompleteCodeMessage &message);
friend CMBIPC_EXPORT bool operator==(const CompleteCodeMessage &first, const CompleteCodeMessage &second);
friend CMBIPC_EXPORT bool operator<(const CompleteCodeMessage &first, const CompleteCodeMessage &second);
friend CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CompleteCodeMessage &message);
friend void PrintTo(const CompleteCodeMessage &message, ::std::ostream* os);
......@@ -70,13 +67,11 @@ private:
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const CompleteCodeMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, CompleteCodeMessage &message);
CMBIPC_EXPORT bool operator==(const CompleteCodeMessage &first, const CompleteCodeMessage &second);
CMBIPC_EXPORT bool operator<(const CompleteCodeMessage &first, const CompleteCodeMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CompleteCodeMessage &message);
void PrintTo(const CompleteCodeMessage &message, ::std::ostream* os);
DECLARE_MESSAGE(CompleteCodeMessage);
} // namespace ClangBackEnd
Q_DECLARE_METATYPE(ClangBackEnd::CompleteCodeMessage)
#endif // CLANGBACKEND_COMPLETECODEMESSAGE_H
......@@ -32,13 +32,12 @@
namespace ClangBackEnd {
EchoMessage::EchoMessage(const QVariant &message)
EchoMessage::EchoMessage(const MessageEnvelop &message)
: message_(message)
{
}
const QVariant &EchoMessage::message() const
const MessageEnvelop &EchoMessage::message() const
{
return message_;
}
......@@ -62,24 +61,14 @@ bool operator==(const EchoMessage &first, const EchoMessage &second)
return first.message_ == second.message_;
}
bool operator<(const EchoMessage &first, const EchoMessage &second)
{
return first.message_ < second.message_;
}
QDebug operator<<(QDebug debug, const EchoMessage &message)
QDebug operator<<(QDebug debug, const EchoMessage &)
{
return debug.nospace() << "EchoMessage(" << message.message() << ")";
return debug.nospace() << "EchoMessage()";
}
void PrintTo(const EchoMessage &message, ::std::ostream* os)
void PrintTo(const EchoMessage &, ::std::ostream* os)
{
QString output;
QDebug debug(&output);
debug << message;
*os << output.toUtf8().constData();
*os << "EchoMessage()";
}
} // namespace ClangBackEnd
......
......@@ -28,8 +28,7 @@
#include "clangbackendipc_global.h"
#include <QMetaType>
#include <QVariant>
#include "messageenvelop.h"
namespace ClangBackEnd {
......@@ -37,27 +36,24 @@ class CMBIPC_EXPORT EchoMessage
{
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, EchoMessage &message);
friend CMBIPC_EXPORT bool operator==(const EchoMessage &first, const EchoMessage &second);
friend CMBIPC_EXPORT bool operator<(const EchoMessage &first, const EchoMessage &second);
public:
EchoMessage() = default;
explicit EchoMessage(const QVariant &message);
explicit EchoMessage(const MessageEnvelop &message);
const QVariant &message() const;
const MessageEnvelop &message() const;
private:
QVariant message_;
MessageEnvelop message_;
};
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const EchoMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, EchoMessage &message);
CMBIPC_EXPORT bool operator==(const EchoMessage &first, const EchoMessage &second);
CMBIPC_EXPORT bool operator<(const EchoMessage &first, const EchoMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const EchoMessage &message);
void PrintTo(const EchoMessage &message, ::std::ostream* os);
DECLARE_MESSAGE(EchoMessage)
} // namespace ClangBackEnd
Q_DECLARE_METATYPE(ClangBackEnd::EchoMessage)
#endif // CLANGBACKEND_ECHOMESSAGE_H
......@@ -47,11 +47,6 @@ bool operator==(const EndMessage &/*first*/, const EndMessage &/*second*/)
return true;
}
bool operator<(const EndMessage &/*first*/, const EndMessage &/*second*/)
{
return true;
}
QDebug operator<<(QDebug debug, const EndMessage &/*message*/)
{
return debug.nospace() << "EndMessage()";
......@@ -61,5 +56,6 @@ void PrintTo(const EndMessage &/*message*/, ::std::ostream* os)
{
*os << "EndMessage()";
}
}
......@@ -28,8 +28,6 @@
#include "clangbackendipc_global.h"
#include <QMetaType>
namespace ClangBackEnd {
class CMBIPC_EXPORT EndMessage
......@@ -39,12 +37,11 @@ class CMBIPC_EXPORT EndMessage
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const EndMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, EndMessage &message);
CMBIPC_EXPORT bool operator==(const EndMessage &first, const EndMessage &second);
CMBIPC_EXPORT bool operator<(const EndMessage &first, const EndMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const EndMessage &message);
void PrintTo(const EndMessage &message, ::std::ostream* os);
}
Q_DECLARE_METATYPE(ClangBackEnd::EndMessage)
DECLARE_MESSAGE(EndMessage)
}
#endif // CMBENDMESSAGE_H
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "cmbmessages.h"
#include "cmbalivemessage.h"
#include "cmbendmessage.h"
#include "cmbechomessage.h"
#include "cmbregistertranslationunitsforeditormessage.h"
#include "cmbunregistertranslationunitsforeditormessage.h"
#include "cmbregisterprojectsforeditormessage.h"
#include "cmbunregisterprojectsforeditormessage.h"
#include "cmbcompletecodemessage.h"
#include "cmbcodecompletedmessage.h"
#include "diagnosticcontainer.h"
#include "diagnosticschangedmessage.h"
#include "registerunsavedfilesforeditormessage.h"
#include "requestdiagnosticsmessage.h"
#include "requesthighlightingmessage.h"
#include "highlightingchangedmessage.h"
#include "highlightingmarkcontainer.h"
#include "projectpartsdonotexistmessage.h"
#include "sourcelocationcontainer.h"
#include "sourcerangecontainer.h"
#include "translationunitdoesnotexistmessage.h"
#include "unregisterunsavedfilesforeditormessage.h"
#include "updatetranslationunitsforeditormessage.h"
#include "updatevisibletranslationunitsmessage.h"
#include <QDataStream>
template <typename T>
static void registerMetaType()
{
qRegisterMetaType<T>();
qRegisterMetaTypeStreamOperators<T>();
QMetaType::registerComparators<T>();
}
namespace ClangBackEnd {
void Messages::registerMessages()
{
// Messages
registerMetaType<AliveMessage>();
registerMetaType<EchoMessage>();
registerMetaType<EndMessage>();
registerMetaType<RegisterTranslationUnitForEditorMessage>();
registerMetaType<UpdateTranslationUnitsForEditorMessage>();
registerMetaType<UnregisterTranslationUnitsForEditorMessage>();
registerMetaType<RegisterUnsavedFilesForEditorMessage>();
registerMetaType<UnregisterUnsavedFilesForEditorMessage>();
registerMetaType<RegisterProjectPartsForEditorMessage>();
registerMetaType<UnregisterProjectPartsForEditorMessage>();
registerMetaType<RequestDiagnosticsMessage>();
registerMetaType<DiagnosticsChangedMessage>();
registerMetaType<RequestHighlightingMessage>();
registerMetaType<HighlightingChangedMessage>();
registerMetaType<UpdateVisibleTranslationUnitsMessage>();
registerMetaType<CompleteCodeMessage>();
registerMetaType<CodeCompletedMessage>();
registerMetaType<CodeCompletion>();
registerMetaType<TranslationUnitDoesNotExistMessage>();
registerMetaType<ProjectPartsDoNotExistMessage>();
// Containers
registerMetaType<DiagnosticContainer>();
registerMetaType<HighlightingMarkContainer>();
registerMetaType<FileContainer>();
registerMetaType<ProjectPartContainer>();
registerMetaType<SourceLocationContainer>();
registerMetaType<SourceRangeContainer>();
}
} // namespace ClangBackEnd
......@@ -25,8 +25,6 @@
#include "cmbregisterprojectsforeditormessage.h"
#include "container_common.h"
#include <QDataStream>
#include <QDebug>
......@@ -64,11 +62,6 @@ bool operator==(const RegisterProjectPartsForEditorMessage &first, const Registe
return first.projectContainers_ == second.projectContainers_;
}
bool operator<(const RegisterProjectPartsForEditorMessage &first, const RegisterProjectPartsForEditorMessage &second)
{
return compareContainer(first.projectContainers_, second.projectContainers_);
}
QDebug operator<<(QDebug debug, const RegisterProjectPartsForEditorMessage &message)
{
debug.nospace() << "RegisterProjectPartsForEditorMessage(";
......
......@@ -28,7 +28,6 @@
#include "projectpartcontainer.h"
#include <QMetaType>
#include <QVector>
namespace ClangBackEnd {
......@@ -38,7 +37,6 @@ class CMBIPC_EXPORT RegisterProjectPartsForEditorMessage
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const RegisterProjectPartsForEditorMessage &message);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, RegisterProjectPartsForEditorMessage &message);
friend CMBIPC_EXPORT bool operator==(const RegisterProjectPartsForEditorMessage &first, const RegisterProjectPartsForEditorMessage &second);
friend CMBIPC_EXPORT bool operator<(const RegisterProjectPartsForEditorMessage &first, const RegisterProjectPartsForEditorMessage &second);
friend void PrintTo(const RegisterProjectPartsForEditorMessage &message, ::std::ostream* os);
public:
RegisterProjectPartsForEditorMessage() = default;
......@@ -53,12 +51,11 @@ private:
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const RegisterProjectPartsForEditorMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, RegisterProjectPartsForEditorMessage &message);
CMBIPC_EXPORT bool operator==(const RegisterProjectPartsForEditorMessage &first, const RegisterProjectPartsForEditorMessage &second);
CMBIPC_EXPORT bool operator<(const RegisterProjectPartsForEditorMessage &first, const RegisterProjectPartsForEditorMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const RegisterProjectPartsForEditorMessage &message);
void PrintTo(const RegisterProjectPartsForEditorMessage &message, ::std::ostream* os);
} // namespace ClangBackEnd
Q_DECLARE_METATYPE(ClangBackEnd::RegisterProjectPartsForEditorMessage)
DECLARE_MESSAGE(RegisterProjectPartsForEditorMessage);
} // namespace ClangBackEnd
#endif // CLANGBACKEND_REGISTERPROJECTSFOREDITORMESSAGE_H
......@@ -25,8 +25,6 @@
#include "cmbregistertranslationunitsforeditormessage.h"
#include "container_common.h"
#include <QDataStream>
#include <QDebug>
......@@ -82,13 +80,6 @@ bool operator==(const RegisterTranslationUnitForEditorMessage &first, const Regi
&& first.visibleEditorFilePaths_ == second.visibleEditorFilePaths_;
}
bool operator<(const RegisterTranslationUnitForEditorMessage &first, const RegisterTranslationUnitForEditorMessage &second)
{
return compareContainer(first.fileContainers_, second.fileContainers_)
&& first.currentEditorFilePath_ < second.currentEditorFilePath_
&& compareContainer(first.visibleEditorFilePaths_, second.visibleEditorFilePaths_);
}
QDebug operator<<(QDebug debug, const RegisterTranslationUnitForEditorMessage &message)
{
debug.nospace() << "RegisterTranslationUnitForEditorMessage(";
......
......@@ -28,7 +28,6 @@
#include "filecontainer.h"
#include <QMetaType>
#include <QVector>
namespace ClangBackEnd {
......@@ -38,7 +37,6 @@ class CMBIPC_EXPORT RegisterTranslationUnitForEditorMessage
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const RegisterTranslationUnitForEditorMessage &message);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, RegisterTranslationUnitForEditorMessage &message);
friend CMBIPC_EXPORT bool operator==(const RegisterTranslationUnitForEditorMessage &first, const RegisterTranslationUnitForEditorMessage &second);
friend CMBIPC_EXPORT bool operator<(const RegisterTranslationUnitForEditorMessage &first, const RegisterTranslationUnitForEditorMessage &second);
friend void PrintTo(const RegisterTranslationUnitForEditorMessage &message, ::std::ostream* os);
public:
RegisterTranslationUnitForEditorMessage() = default;
......@@ -59,12 +57,11 @@ private:
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const RegisterTranslationUnitForEditorMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, RegisterTranslationUnitForEditorMessage &message);
CMBIPC_EXPORT bool operator==(const RegisterTranslationUnitForEditorMessage &first, const RegisterTranslationUnitForEditorMessage &second);
CMBIPC_EXPORT bool operator<(const RegisterTranslationUnitForEditorMessage &first, const RegisterTranslationUnitForEditorMessage &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const RegisterTranslationUnitForEditorMessage &message);
void PrintTo(const RegisterTranslationUnitForEditorMessage &message, ::std::ostream* os);
} // namespace ClangBackEnd
Q_DECLARE_METATYPE(ClangBackEnd::RegisterTranslationUnitForEditorMessage)
DECLARE_MESSAGE(RegisterTranslationUnitForEditorMessage);
} // namespace ClangBackEnd
#endif // CLANGBACKEND_REGISTERFILEFORCODECOMPLITION_H
......@@ -25,8 +25,6 @@
#include "cmbunregisterprojectsforeditormessage.h"
#include "container_common.h"
#include <QDataStream>
#include <QDebug>
......@@ -65,11 +63,6 @@ bool operator==(const UnregisterProjectPartsForEditorMessage &first, const Unreg
return first.projectPartIds_ == second.projectPartIds_;
}
bool operator<(const UnregisterProjectPartsForEditorMessage &first, const UnregisterProjectPartsForEditorMessage &second)
{
return compareContainer(first.projectPartIds_, second.projectPartIds_);
}
QDebug operator<<(QDebug debug, const UnregisterProjectPartsForEditorMessage &message)
{
debug.nospace() << "UnregisterProjectPartsForEditorMessage(";
......
......@@ -30,8 +30,6 @@
#include <utf8stringvector.h>
#include <QMetaType>
namespace ClangBackEnd {
class CMBIPC_EXPORT UnregisterProjectPartsForEditorMessage
......@@ -39,7 +37,6 @@ class CMBIPC_EXPORT UnregisterProjectPartsForEditorMessage
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const UnregisterProjectPartsForEditorMessage &message);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, UnregisterProjectPartsForEditorMessage &message);
friend CMBIPC_EXPORT bool operator==(const UnregisterProjectPartsForEditorMessage &first, const UnregisterProjectPartsForEditorMessage &second);
friend CMBIPC_EXPORT bool operator<(const UnregisterProjectPartsForEditorMessage &first, const UnregisterProjectPartsForEditorMessage &second);
friend void PrintTo(const UnregisterProjectPartsForEditorMessage &message, ::std::ostream* os);
public:
......@@ -55,12 +52,11 @@ private:
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const UnregisterProjectPartsForEditorMessage &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, UnregisterProjectPartsForEditorMessage &message);
CMBIPC_EXPORT bool operator==(const UnregisterProjectPartsForEditorMessage &first, const UnregisterProjectPartsForEditorMessage &second);
CMBIPC_EXPORT bool operator<(const UnregisterProjectPartsForEditorMessage &first,