File indexing completed on 2024-05-12 05:25:58

0001 /*
0002  * Copyright (C) 2014 Aaron Seigo <aseigo@kde.org>
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Lesser General Public
0006  * License as published by the Free Software Foundation; either
0007  * version 2.1 of the License, or (at your option) version 3, or any
0008  * later version accepted by the membership of KDE e.V. (or its
0009  * successor approved by the membership of KDE e.V.), which shall
0010  * act as a proxy defined in Section 6 of version 3 of the license.
0011  *
0012  * This library is distributed in the hope that it will be useful,
0013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015  * Lesser General Public License for more details.
0016  *
0017  * You should have received a copy of the GNU Lesser General Public
0018  * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
0019  */
0020 
0021 #pragma once
0022 
0023 #include "sink_export.h"
0024 #include <flatbuffers/flatbuffers.h>
0025 #include <QByteArray>
0026 
0027 class QLocalSocket;
0028 
0029 namespace Sink {
0030 
0031 namespace Commands {
0032 
0033 enum CommandIds
0034 {
0035     UnknownCommand = 0,
0036     CommandCompletionCommand,
0037     HandshakeCommand,
0038     RevisionUpdateCommand,
0039     SynchronizeCommand,
0040     DeleteEntityCommand,
0041     ModifyEntityCommand,
0042     CreateEntityCommand,
0043     SearchSourceCommand, // need a buffer definition for this, but relies on Query API
0044     ShutdownCommand,
0045     NotificationCommand,
0046     PingCommand,
0047     RevisionReplayedCommand,
0048     InspectionCommand,
0049     RemoveFromDiskCommand,
0050     FlushCommand,
0051     SecretCommand,
0052     UpgradeCommand,
0053     AbortSynchronizationCommand,
0054     CustomCommand = 0xffff
0055 };
0056 
0057 
0058 QByteArray name(int commandId);
0059 
0060 int SINK_EXPORT headerSize();
0061 void SINK_EXPORT write(QLocalSocket *device, int messageId, int commandId);
0062 void SINK_EXPORT write(QLocalSocket *device, int messageId, int commandId, const char *buffer, uint size);
0063 void SINK_EXPORT write(QLocalSocket *device, int messageId, int commandId, flatbuffers::FlatBufferBuilder &fbb);
0064 }
0065 
0066 } // namespace Sink