File indexing completed on 2024-05-12 05:39:52
0001 #ifndef CONNECTIONACCEPTER_H 0002 #define CONNECTIONACCEPTER_H 0003 0004 #include "network_global.h" 0005 #include <QMap> 0006 #include <QString> 0007 #include <QVariant> 0008 0009 /** 0010 * @brief The ConnectionAccepter class abstract class to implement chain of responsability 0011 */ 0012 class NETWORK_EXPORT ConnectionAccepter 0013 { 0014 public: 0015 ConnectionAccepter(); 0016 virtual ~ConnectionAccepter(); 0017 void setNext(ConnectionAccepter* next); 0018 0019 bool runAccepter(const QMap<QString, QVariant>& data) const; 0020 0021 bool isActive() const; 0022 void setIsActive(bool isActive); 0023 0024 protected: 0025 virtual bool isValid(const QMap<QString, QVariant>& data) const= 0; 0026 0027 protected: 0028 ConnectionAccepter* m_next{nullptr}; 0029 bool m_isActive; 0030 }; 0031 0032 #endif // CONNECTIONACCEPTER_H