#pragma once #include #include #include #include #include #include #include #include // fwd struct ConfigModelI; class SDBot : public RegistryMessageModelEventI { Contact3Registry& _cr; RegistryMessageModel& _rmm; ConfigModelI& _conf; //TransferManager& _tm; //std::map> _task_map; std::map _task_map; std::queue> _prompt_queue; uint64_t _last_task_counter = 0; std::optional _current_task; std::unique_ptr _con; std::vector _con_data; public: SDBot( Contact3Registry& cr, RegistryMessageModel& rmm, ConfigModelI& conf ); ~SDBot(void); void iterate(void); public: // conf bool use_webp_for_friends = true; bool use_webp_for_groups = true; //protected: // tox events //bool onToxEvent(const Tox_Event_Friend_Message* e) override; //bool onToxEvent(const Tox_Event_Group_Message* e) override; protected: // mm bool onEvent(const Message::Events::MessageConstruct& e) override; public: // http cb void onHttpBegin(const happyhttp::Response* r); void onHttpData(const happyhttp::Response* r, const unsigned char* data, int n); void onHttpComplete(const happyhttp::Response* r); };