43 public std::enable_shared_from_this<ProxyEnvironment>
46 typedef std::shared_ptr<ProxyEnvironment>
Sptr;
57 static Sptr make(
const std::string &name,
const ProxyEnvironmentArgs &args =
ProxyEnvironmentArgs());
66 virtual std::string getNodeId(
void)
const;
72 virtual std::string getUniquePid(
void)
const;
78 static std::string getLocalUniquePid(
void);
85 virtual std::string getPeeringAddress(
void);
91 virtual std::string getName(
void)
const = 0;
101 virtual Proxy findProxy(
const std::string &name) = 0;
109 virtual Proxy convertObjectToProxy(
const Object &local);
115 template <
typename ValueType>
116 Proxy makeProxy(ValueType &&local);
124 virtual Object convertProxyToObject(
const Proxy &proxy);
140 virtual Proxy deserialize(std::istream &is) = 0;
145 template <
typename ValueType>
148 return convertObjectToProxy(
Pothos::Object(std::forward<ValueType>(local)));
#define POTHOS_API
Definition: Config.hpp:41
Definition: ArchiveEntry.hpp:20
Proxy makeProxy(ValueType &&local)
std::shared_ptr< ProxyEnvironment > Sptr
Definition: Environment.hpp:46
Definition: RefHolder.hpp:24
Definition: Object.hpp:47
void serialize(Archive &ar, std::complex< T > &t, const unsigned int ver)
Definition: Complex.hpp:37
std::map< std::string, std::string > ProxyEnvironmentArgs
Definition: Environment.hpp:26
std::pair< std::string, Pothos::Callable > ProxyConvertPair
Definition: Environment.hpp:31
Definition: Environment.hpp:41