/* * Copyright (c) 2021 joshua stein * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef __SETTINGS_H__ #define __SETTINGS_H__ #include "stdint.h" #define SETTINGS_FILENAME "\pWallops Preferences" #define SETTINGS_FILE_CREATOR 'WLOP' #define CONNECT_DLOG_ID 128 #define CONNECT_SERVER_ID 2 #define CONNECT_PORT_ID 3 #define CONNECT_PASSWORD_ID 4 #define CONNECT_NICK_ID 5 #define CONNECT_IDENT_ID 6 #define CONNECT_REALNAME_ID 7 #define CONNECT_HIDE_MOTD_ID 8 #define CONNECT_CHANNEL_ID 9 #define DEFAULT_SERVER_NAME "irc.libera.chat" #define DEFAULT_PORT "6667" #define DEFAULT_IDENT "wallops" #define DEFAULT_REALNAME "A Macintosh User" #define DEFAULT_CHANNEL "#cyberpals" #define DEFAULT_HIDE_MOTD "0" #define SETTINGS_DLOG_ID 129 #define SETTINGS_PUSHOVER_API_ID 2 #define SETTINGS_PUSHOVER_USER_ID 3 #define SETTINGS_PUSHOVER_OPTS_ID 4 struct settings { short version; #define SETTINGS_VERSION 1 char server[64]; unsigned short port; char password[32]; char nick[32]; char ident[32]; char realname[32]; char channel[32]; unsigned char hide_motd; unsigned long ignores; char pushover_api_token[32]; char pushover_user_key[32]; char pushover_options[256]; }; extern struct settings settings; bool settings_load(void); void settings_save(struct settings *tsettings); bool connect_dialog(bool use_defaults); bool settings_dialog(bool use_defaults); #endif