#ifndef LOGINBLOB_H #define LOGINBLOB_H #include #include #include #include "Crypto.h" #include "protobuf/authentication.pb.h" class LoginBlob { private: int blobSkipPosition = 0; std::unique_ptr crypto; uint32_t readBlobInt(const std::vector& loginData); std::vector decodeBlob(const std::vector& blob, const std::vector& sharedKey); std::vector decodeBlobSecondary(const std::vector& blob, const std::string& username, const std::string& deviceId); public: LoginBlob(); std::vector authData; std::string username; int authType; // Loading void loadZeroconf(const std::vector& blob, const std::vector& sharedKey, const std::string& deviceId, const std::string& username); void loadUserPass(const std::string& username, const std::string& password); void loadJson(const std::string& json); std::string toJson(); }; #endif