/* * FritzBox Smart Home - C++ interface class */ #ifndef _FBSH_H_ #define _FBSH_H_ #include #include #include #include "tcp.h" std::string generateMD5 (char* input, int size); #define FB_BUFFER (4*1024*1024) class FBSmartHome { private: char inbuffer[FB_BUFFER]; char outbuffer[FB_BUFFER]; std::string SID; FILE *fsidfile; std::string hostname; TCP tcp; int XMLPrepare(char *buffer, int len, xmlDocPtr *xmldoc, xmlNodePtr *xmlnode); public: FBSmartHome (); ~FBSmartHome (); std::string GetSID() { return SID; }; int UseSIDFile (std::string fn); int CloseSIDFile (); int Connect(std::string host); // return 0 on success int Connect(std::string host, std::string username, std::string password); }; #endif