//
// Aspia Project
// Copyright (C) 2016-2024 Dmitry Chapyshev <dmitry@aspia.ru>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
//

syntax = "proto3";

option optimize_for = LITE_RUNTIME;

package proto;

enum HostChannelId
{
    HOST_CHANNEL_ID_SESSION = 0;
    HOST_CHANNEL_ID_SERVICE = 1;
}

enum SessionType
{
    SESSION_TYPE_UNKNOWN        = 0;
    SESSION_TYPE_DESKTOP_MANAGE = 1;
    SESSION_TYPE_DESKTOP_VIEW   = 2;
    SESSION_TYPE_FILE_TRANSFER  = 4;
    SESSION_TYPE_SYSTEM_INFO    = 8;
    SESSION_TYPE_TEXT_CHAT      = 16;

    // When adding or removing session types, you need to recalculate this value.
    SESSION_TYPE_ALL            = 31;
}

message Version
{
    uint32 major    = 1;
    uint32 minor    = 2;
    uint32 patch    = 3;
    uint32 revision = 4;
}
