strusRpc  0.17
rpcClientInterface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_RPC_CLIENT_INTERFACE_HPP_INCLUDED
11 #define _STRUS_RPC_CLIENT_INTERFACE_HPP_INCLUDED
12 #include <string>
13 
15 namespace strus
16 {
17 
19 class AnalyzerObjectBuilderInterface;
21 class StorageObjectBuilderInterface;
22 
23 
26 {
27 public:
29  virtual ~RpcClientInterface(){}
30 
33  virtual StorageObjectBuilderInterface* createStorageObjectBuilder() const=0;
34 
37  virtual AnalyzerObjectBuilderInterface* createAnalyzerObjectBuilder() const=0;
38 
40  virtual void close()=0;
41 
43  virtual std::string config() const=0;
44 };
45 
46 }//namespace
47 #endif
48 
Interface providing a mechanism to create and address objects residing on server side.
Definition: rpcClientInterface.hpp:25
virtual void close()=0
Explicit close of the connection.
virtual std::string config() const =0
Get configuration string.
virtual StorageObjectBuilderInterface * createStorageObjectBuilder() const =0
Creates an object builder for using the strus storage and query evaluation to be accessed via RPC cal...
virtual AnalyzerObjectBuilderInterface * createAnalyzerObjectBuilder() const =0
Creates an object builder for using the strus analyzer to be accessed via RPC calls.
virtual ~RpcClientInterface()
Destructor.
Definition: rpcClientInterface.hpp:29