#ifndef MIRRORSEARCH_APIIMPL_H #define MIRRORSEARCH_APIIMPL_H #include #include #include namespace MirrorSearch { class SearchImpl : public Search, public IceTray::AbstractDatabaseClient { public: SearchImpl(const DB::ConnectionPoolPtr &); virtual SearchServices getServices(const ::Ice::Current & = ::Ice::Current()) override; virtual SearchHits getMatches(const ::std::string, const ::Ice::Current & = ::Ice::Current()) override; virtual ::IceUtil::Optional<::std::string> feelingLucky( const ::std::string, const ::Ice::Current & = ::Ice::Current()) override; private: void callService(const ::std::string & fn, const SearchServicePtr & s, SearchHits & sh) const; LOG::LoggerPtr log; }; } #endif