#ifndef NETWORKCOMMON_H
#define NETWORKCOMMON_H

#include <QObject>

///////------enums-----
//服务状态
enum class ServiceStatus
{
    Uninitialized,//未初始化
    //Initialized, //已初始化
    Disconnected, //未连接
    Connecting, //连接中
    Connected, //已连接
    Error, //错误状态
    Reconnecting //重连中
};

//连接状态
enum class ConnectionStatus
{
    Connected,
    Connecting,
    Disconnected,
    Reconncting,
    Error
};

//错误严重程度
enum class ErrorSeverity
{
    Info, //信息
    Warning, //警告
    Error, //错误
    Critical //严重错误
};

//消息处理结果
enum class MessageHandleResult
{
    Success,
    ParseError, //解析错误
    ValidationError, //验证错误
    Duplicate //重复消息
};

//注册为元类型，用于信号槽的传递
Q_DECLARE_METATYPE(ServiceStatus)
Q_DECLARE_METATYPE(ConnectionStatus)
Q_DECLARE_METATYPE(ErrorSeverity)
Q_DECLARE_METATYPE(MessageHandleResult)

#endif
