#pragma once #include #include #include namespace LibProtocol { class Client; } class ResourceLoader : public CObject { C_OBJECT(ResourceLoader) public: static ResourceLoader& the(); void load(const URL&, Function); Function on_load_counter_change; int pending_loads() const { return m_pending_loads; } private: ResourceLoader(); int m_pending_loads { 0 }; LibProtocol::Client& protocol_client() { return *m_protocol_client; } RefPtr m_protocol_client; };