mirror of
git://git.psyced.org/git/psyced
synced 2024-08-15 03:25:10 +00:00
74 lines
2.8 KiB
C
74 lines
2.8 KiB
C
|
#ifndef _INCLUDE_STATUS_H
|
||
|
#define _INCLUDE_STATUS_H
|
||
|
|
||
|
#include <storage.h>
|
||
|
|
||
|
#define SNICKER (objectp(source) ? vars["_nick"] : source)
|
||
|
|
||
|
// 'verbosity' is an internal selection scheme to select aspects of a place
|
||
|
// status. the place status however should probably become its description
|
||
|
// as provided by /x or /surf, and the description data should in long term
|
||
|
// be multicast to all cslaves. thus all we really need is a way to ask our
|
||
|
// local cslave for the data we want to see. that's why we come full circle
|
||
|
// back to the current implementation of verbosity: since it is a local
|
||
|
// operation, it is not useful to define a generic key selector protocol
|
||
|
// for _request_description, but rather act out of current status of things
|
||
|
// and maybe mc extensions, which is what 'verbosity' does.
|
||
|
|
||
|
// place status flags
|
||
|
#define VERBOSITY_MEMBERS 1
|
||
|
#define VERBOSITY_TOPIC 2
|
||
|
#define VERBOSITY_HISTORY 4
|
||
|
#define VERBOSITY_UNIFORMS 8
|
||
|
#define VERBOSITY_NEWSFEED 16
|
||
|
#define VERBOSITY_MASQUERADE 32
|
||
|
#define VERBOSITY_FILTER 64
|
||
|
#define VERBOSITY_LOGGING 128
|
||
|
#define VERBOSITY_PUBLICIZED 256
|
||
|
// user status flags
|
||
|
#define VERBOSITY_FRIENDS 512
|
||
|
#define VERBOSITY_FRIENDS_DETAILS 1024 // idle times of friends
|
||
|
#define VERBOSITY_PLACE 2048 // info about current place
|
||
|
#define VERBOSITY_EVENTS 4096 // last invitation etc.
|
||
|
#define VERBOSITY_PRESENCE 8192 // showMyPresence(0)
|
||
|
#define VERBOSITY_PRESENCE_DETAILS 16384 // showMyPresence(1)
|
||
|
|
||
|
// special case. never use in masks etc.
|
||
|
#define VERBOSITY_AUTOMATIC 65536 // NOT in ALL!
|
||
|
|
||
|
#define VERBOSITY_MEDIUM VERBOSITY_TERSE | VERBOSITY_TOPIC
|
||
|
#define VERBOSITY_ALL (32768-1)
|
||
|
|
||
|
// masks for various occasions
|
||
|
#if 1 //def ENTER_MEMBERS
|
||
|
# define VERBOSITY_TERSE 0
|
||
|
# define VERBOSITY_BIG VERBOSITY_MEDIUM
|
||
|
#else
|
||
|
# define VERBOSITY_TERSE VERBOSITY_MEMBERS
|
||
|
# define VERBOSITY_BIG VERBOSITY_MEDIUM | VERBOSITY_HISTORY
|
||
|
#endif
|
||
|
|
||
|
// each occasion has its mask or selection
|
||
|
// these are for places
|
||
|
#define VERBOSITY_REQUEST_MEMBERS VERBOSITY_MEMBERS
|
||
|
#define VERBOSITY_ENTER_AUTOMATIC VERBOSITY_TERSE
|
||
|
#define VERBOSITY_ENTER VERBOSITY_BIG
|
||
|
#define VERBOSITY_STATUS_TERSE VERBOSITY_TERSE
|
||
|
#define VERBOSITY_STATUS VERBOSITY_ALL - VERBOSITY_HISTORY
|
||
|
#define VERBOSITY_IRCGATE_LOGON VERBOSITY_TERSE | VERBOSITY_UNIFORMS
|
||
|
#define VERBOSITY_IRCGATE_USER VERBOSITY_ALL
|
||
|
|
||
|
// automatic user status in telnet & mud interfaces
|
||
|
#define VERBOSITY_STATUS_AUTOMATIC VERBOSITY_PRESENCE | VERBOSITY_FRIENDS | VERBOSITY_MEMBERS
|
||
|
|
||
|
// these come from usercmd.i
|
||
|
#define VERBOSITY_COMMAND_STATUS VERBOSITY_ALL
|
||
|
#define VERBOSITY_COMMAND_STATUS_TERSE VERBOSITY_STATUS_AUTOMATIC
|
||
|
#define VERBOSITY_COMMAND_STATUS_INFO VERBOSITY_PRESENCE_DETAILS | VERBOSITY_FRIENDS_DETAILS | VERBOSITY_EVENTS
|
||
|
#define VERBOSITY_COMMAND_FRIENDS VERBOSITY_FRIENDS_DETAILS
|
||
|
// currently not necessary:
|
||
|
//efine VERBOSITY_COMMAND_PRESENCE VERBOSITY_PRESENCE_DETAILS
|
||
|
//efine VERBOSITY_COMMAND_MEMBERS VERBOSITY_MEMBERS
|
||
|
|
||
|
#endif
|