/*! \file piethutilbase.h * \brief Base class for ethernet utils */ /* PIP - Platform Independent Primitives Base class for ethernet utils Copyright (C) 2018 Ivan Pelipenko peri4ko@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PIETHUTILBASE_H #define PIETHUTILBASE_H #include "pibytearray.h" class PIEthUtilBase { public: PIEthUtilBase(); ~PIEthUtilBase(); void setCryptEnabled(bool on) {_crypt = on;} void cryptEnable() {setCryptEnabled(true);} void cryptDisable() {setCryptEnabled(false);} bool isCryptEnabled() const {return _crypt;} void setCryptKey(const PIByteArray & k) {_key = k;} void createCryptKey(const PIString & k); PIByteArray cryptKey() const {return _key;} protected: PIByteArray cryptData(const PIByteArray & data); PIByteArray decryptData(const PIByteArray & data); private: PIByteArray _key; bool _crypt; }; #endif // PIETHUTILBASE_H