#pragma once
/// @file
/// @brief List of the client and server events
///
/// @copyright Copyright 2019 InfoTeCS.

/// @brief list of the supported events
/// server and client use the same macro for compatibility purposes
#define EVENT_LIST                                        \
    VIPNET_EVENT( vipnetDaemonStarted, void )             \
    VIPNET_EVENT( vipnetDaemonStopped, void )             \
    VIPNET_EVENT( vipnetStarted, void )                   \
    VIPNET_EVENT( vipnetStopped, void )                   \
    VIPNET_EVENT( vipnetIntegrityCheck, int )             \
    VIPNET_EVENT( vipnetUpdateReceived, void )            \
    VIPNET_EVENT( vipnetConnectionSuccessful, int, bool ) \
    VIPNET_EVENT( vipnetConnectionFailed, int, bool )     \
    VIPNET_EVENT( vipnetLicenseCheck, unsigned )          \
    VIPNET_EVENT( vipnetKeysInstalled, bool )             \
    VIPNET_EVENT( vipnetNewDstRequired, void )            \
    VIPNET_EVENT( vipnetPasswordRequired, void )          \
    VIPNET_EVENT( vipnetServerTimeDiffDetected, time_t )  \
    VIPNET_EVENT( vipnetNetworkStatusChanged, unsigned )  \
    VIPNET_EVENT( vipnetCryptographyCheck, bool )         \
    VIPNET_EVENT( vipnetReportSaved, void )               \
    VIPNET_EVENT( vipnetChangeLogonType, void )           \
    VIPNET_EVENT( vipnetLogLevelChanged, int )            \
    VIPNET_EVENT( vipnetBeginStarting, void )             \
    VIPNET_EVENT( vipnetBeginStopping, void )             \
    VIPNET_EVENT( vipnetDefaultTokenAttached, void )      \
    VIPNET_EVENT( vipnetDefaultTokenDetached, void )      \
    VIPNET_EVENT( vipnetUserTrafficStatusChanged, int )
