Mantid
Loading...
Searching...
No Matches
ICatalog.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2010 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
11
12#include <string>
13#include <vector>
14
15namespace Mantid {
16namespace ICat {
18}
19
20namespace API {
28class MANTID_API_DLL ICatalog {
29public:
31 virtual ~ICatalog() = default;
33 virtual CatalogSession_sptr login(const std::string &, const std::string &, const std::string &,
34 const std::string &) = 0;
36 virtual void logout() = 0;
38 virtual void search(const ICat::CatalogSearchParam &, ITableWorkspace_sptr &, const int &, const int &) = 0;
42 virtual void myData(ITableWorkspace_sptr &) = 0;
44 virtual void getDataSets(const std::string &, ITableWorkspace_sptr &) = 0;
46 virtual void getDataFiles(const std::string &, ITableWorkspace_sptr &) = 0;
48 virtual void listInstruments(std::vector<std::string> &) = 0;
50 virtual void listInvestigationTypes(std::vector<std::string> &) = 0;
52 virtual void keepAlive() = 0;
53};
54
55using ICatalog_sptr = std::shared_ptr<ICatalog>;
56using ICatalog_const_sptr = std::shared_ptr<const ICatalog>;
57} // namespace API
58} // namespace Mantid
This class creates an interface for information catalogs to support multiple facilities.
Definition: ICatalog.h:28
virtual CatalogSession_sptr login(const std::string &, const std::string &, const std::string &, const std::string &)=0
method to login to a catalog
virtual ~ICatalog()=default
Virtual destructor.
virtual void keepAlive()=0
keep alive
virtual void listInvestigationTypes(std::vector< std::string > &)=0
get investigationtype lists
virtual void getDataSets(const std::string &, ITableWorkspace_sptr &)=0
get datasets.
virtual void listInstruments(std::vector< std::string > &)=0
instrument list
virtual void search(const ICat::CatalogSearchParam &, ITableWorkspace_sptr &, const int &, const int &)=0
Search investigations.
virtual void myData(ITableWorkspace_sptr &)=0
search logged in users data
virtual void logout()=0
logout from catalog
virtual void getDataFiles(const std::string &, ITableWorkspace_sptr &)=0
get datafiles
virtual int64_t getNumberOfSearchResults(const ICat::CatalogSearchParam &)=0
Obtain the number of results returned by the search method.
This class is used in Catalog Search service to set/get all the inputs to search for.
std::shared_ptr< CatalogSession > CatalogSession_sptr
std::shared_ptr< const ICatalog > ICatalog_const_sptr
Definition: ICatalog.h:56
std::shared_ptr< ICatalog > ICatalog_sptr
Definition: ICatalog.h:55
std::shared_ptr< ITableWorkspace > ITableWorkspace_sptr
shared pointer to Mantid::API::ITableWorkspace
Helper class which provides the Collimation Length for SANS instruments.