1*853c0dc5SEd Tanous #pragma once 2*853c0dc5SEd Tanous #include <nlohmann/json.hpp> 3*853c0dc5SEd Tanous 4*853c0dc5SEd Tanous namespace acceleration_function 5*853c0dc5SEd Tanous { 6*853c0dc5SEd Tanous // clang-format off 7*853c0dc5SEd Tanous 8*853c0dc5SEd Tanous enum class AccelerationFunctionType{ 9*853c0dc5SEd Tanous Invalid, 10*853c0dc5SEd Tanous Encryption, 11*853c0dc5SEd Tanous Compression, 12*853c0dc5SEd Tanous PacketInspection, 13*853c0dc5SEd Tanous PacketSwitch, 14*853c0dc5SEd Tanous Scheduler, 15*853c0dc5SEd Tanous AudioProcessing, 16*853c0dc5SEd Tanous VideoProcessing, 17*853c0dc5SEd Tanous OEM, 18*853c0dc5SEd Tanous }; 19*853c0dc5SEd Tanous 20*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccelerationFunctionType, { 21*853c0dc5SEd Tanous {AccelerationFunctionType::Invalid, "Invalid"}, 22*853c0dc5SEd Tanous {AccelerationFunctionType::Encryption, "Encryption"}, 23*853c0dc5SEd Tanous {AccelerationFunctionType::Compression, "Compression"}, 24*853c0dc5SEd Tanous {AccelerationFunctionType::PacketInspection, "PacketInspection"}, 25*853c0dc5SEd Tanous {AccelerationFunctionType::PacketSwitch, "PacketSwitch"}, 26*853c0dc5SEd Tanous {AccelerationFunctionType::Scheduler, "Scheduler"}, 27*853c0dc5SEd Tanous {AccelerationFunctionType::AudioProcessing, "AudioProcessing"}, 28*853c0dc5SEd Tanous {AccelerationFunctionType::VideoProcessing, "VideoProcessing"}, 29*853c0dc5SEd Tanous {AccelerationFunctionType::OEM, "OEM"}, 30*853c0dc5SEd Tanous }); 31*853c0dc5SEd Tanous 32*853c0dc5SEd Tanous } 33*853c0dc5SEd Tanous // clang-format on 34