;;; gomuks-structs.el --- Structs for use with gomuks -*- lexical-binding: t -*- ;; This file is not part of GNU Emacs ;; 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 . ;;; Commentary: ;; Adapted from https://github.com/alphapapa/ement.el/blob/master/ement-structs.el ;;; Code: (require 'cl-lib) (cl-defstruct gomuks-user id displayname account-data (color nil :documentation "User name color.") (avatar-url nil :documentation "MXC URL to the user avatar") (avatar nil :documentation "String with avatar image as a display prop")) (cl-defstruct gomuks-event id row-id sender content type) (cl-defstruct gomuks-room id display-name topic members ;; Hash table of events in the room events) (cl-defstruct gomuks-session user token transaction-id websocket ping-timer ;; Hash table of available rooms rooms) (provide 'gomuks-structs) ;;; gomuks-structs.el ends here