Pothos  0.3.3-g32d3017c
The Pothos dataflow programming software suite
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Client.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 #include <Pothos/Config.hpp>
15 #include <memory>
16 #include <string>
17 #include <iosfwd>
18 
19 namespace Pothos {
20 
26 {
27 public:
28 
30  RemoteClient(void);
31 
39  RemoteClient(const std::string &uri, const long timeoutUs = 100000);
40 
42  const std::string &getUri(void) const;
43 
45  pothos_explicit operator bool(void) const;
46 
51  std::iostream &getIoStream(void) const;
52 
56  ProxyEnvironment::Sptr makeEnvironment(const std::string &name, const ProxyEnvironmentArgs &args = ProxyEnvironmentArgs());
57 
62  static ProxyEnvironment::Sptr makeEnvironment(std::istream &is, std::ostream &os,
63  const std::string &name, const ProxyEnvironmentArgs &args = ProxyEnvironmentArgs());
64 
69  static ProxyEnvironment::Sptr makeEnvironment(std::iostream &io,
70  const std::string &name, const ProxyEnvironmentArgs &args = ProxyEnvironmentArgs());
71 
78  static std::string lookupIpFromNodeId(const std::string nodeId);
79 
80 private:
81  struct Impl;
82  std::shared_ptr<Impl> _impl;
83 };
84 
85 } //namespace Pothos
#define pothos_explicit
Definition: Config.hpp:85
#define POTHOS_API
Definition: Config.hpp:41
std::shared_ptr< ProxyEnvironment > Sptr
Definition: Environment.hpp:45
Definition: RefHolder.hpp:24
std::map< std::string, std::string > ProxyEnvironmentArgs
Definition: Environment.hpp:25
Definition: Client.hpp:25