/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2011, Tomasz Sowa * All rights reserved. * */ #ifndef headerfile_winix_plugins_export_exportthread #define headerfile_winix_plugins_export_exportthread #include #include "core/basethread.h" #include "message.h" namespace Export { class ExportThread : public BaseThread { public: ExportThread(); void SetUTF8(bool use_utf8); void AddMessage(const Message & message); void AddMessage(int type, const std::wstring & url, const std::wstring & path); private: typedef std::list MessageTab; MessageTab message_tab; Message message_add_temp; Message message_work; // a message used by the second thread static ExportThread * exp_thread; std::string url_a; std::string buffer; bool utf8; virtual bool SignalReceived(); virtual void Do(); void DoMessage(); bool Fetch(const char * url); static size_t StaticSaveFunction(char * ptr, size_t size, size_t nmemb, void *userdata); size_t SaveFunction(char * ptr, size_t size, size_t nmemb, void *userdata); }; } // namespace #endif