#ifndef CAPITAL_H_09912EAE #define CAPITAL_H_09912EAE #include #include #include #include #include #include #include class capital { public: capital( std::string configFile, std::mt19937& rng); void run() const; private: verbly::word getPicturedNoun() const; Magick::Image getImageForNoun(verbly::word pictured) const; std::string generateTweetText(verbly::word pictured) const; void sendTweet(std::string text, Magick::Image image) const; class could_not_get_image : public std::runtime_error { public: could_not_get_image() : std::runtime_error("Could not get image for noun") { } }; std::mt19937& rng_; std::unique_ptr database_; std::unique_ptr client_; }; #endif /* end of include guard: CAPITAL_H_09912EAE */