#ifndef MIRRORSEARCH_APIIMPL_H #define MIRRORSEARCH_APIIMPL_H #include #include #include namespace MirrorSearch { class SearchImpl : public Search, public IceTray::AbstractDatabaseClient { public: SearchImpl(IceTray::DatabasePoolPtr); 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