summaryrefslogtreecommitdiff
path: root/service/apiImpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'service/apiImpl.h')
-rw-r--r--service/apiImpl.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/service/apiImpl.h b/service/apiImpl.h
new file mode 100644
index 0000000..e56368c
--- /dev/null
+++ b/service/apiImpl.h
@@ -0,0 +1,25 @@
+#ifndef MIRRORSEARCH_APIIMPL_H
+#define MIRRORSEARCH_APIIMPL_H
+
+#include <api.h>
+#include <abstractDatabaseClient.h>
+#include <logger.h>
+
+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
+