/*
 * Copyright (C) 2022 Savoir-faire Linux Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Affero 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public
 * License along with this program.  If not, see
 * <https://www.gnu.org/licenses/>.
 */
export enum WebSocketMessageType {
  ConversationMessage = 'conversation-message',
  ConversationView = 'conversation-view',
  OnComposingStatusChanged = 'on-composing-status-changed', // Sent by server to indicate who is composing a message or not
  SetIsComposing = 'set-is-composing', // Sent by user to indicate whether they are composing a message or not
  CallBegin = 'call-begin',
  CallAccept = 'call-accept',
  CallEnd = 'call-end',
  WebRtcOffer = 'webrtc-offer',
  WebRtcAnswer = 'webrtc-answer',
  WebRtcIceCandidate = 'webrtc-ice-candidate',
}
