15 template<
typename,
typename,
typename>
class Topic;
29 virtual const char* what()
const noexcept;
52 Node(std::shared_ptr<Ice::Communicator> communicator) noexcept;
69 Node(
int& argc,
const char* argv[], T&&... iceArgs) : _ownsCommunicator(true)
71 init(argc, argv, std::forward<T>(iceArgs)...);
89 Node(
int& argc,
char* argv[], T&&... iceArgs) : _ownsCommunicator(true)
91 init(argc, argv, std::forward<T>(iceArgs)...);
110 Node(
int& argc,
const wchar_t* argv[], T&&... iceArgs) : _ownsCommunicator(true)
112 init(argc, argv, std::forward<T>(iceArgs)...);
130 Node(
int& argc,
wchar_t* argv[], T&&... iceArgs) : _ownsCommunicator(true)
132 init(argc, argv, std::forward<T>(iceArgs)...);
146 Node(T&&... iceArgs) : _ownsCommunicator(true)
148 init(Ice::initialize(std::forward<T>(iceArgs)...));
168 void shutdown() noexcept;
175 bool isShutdown() const noexcept;
180 void waitForShutdown() const noexcept;
187 Node& operator=(
Node&& node) noexcept;
192 std::shared_ptr<Ice::Communicator> getCommunicator() const noexcept;
203 std::shared_ptr<Ice::Connection> getSessionConnection(const std::
string& ident) const noexcept;
207 template<typename V, class... T>
void init(
int& argc, V argv, T&&... iceArgs)
209 auto communicator = Ice::initialize(argc, argv, std::forward<T>(iceArgs)...);
210 auto args = Ice::argsToStringSeq(argc, argv);
211 communicator->getProperties()->parseCommandLineOptions(
"DataStorm", args);
212 Ice::stringSeqToArgs(args, argc, argv);
216 void init(
const std::shared_ptr<Ice::Communicator>&) noexcept;
218 std::shared_ptr<DataStormI::Instance> _instance;
219 std::shared_ptr<DataStormI::TopicFactory> _factory;
220 bool _ownsCommunicator;
222 template<
typename,
typename,
typename>
friend class Topic;
#define DATASTORM_API
Definition: Config.h:37
The Topic class.
Definition: DataStorm.h:512
Node(int &argc, const char *argv[], T &&... iceArgs)
Construct a DataStorm node.
Definition: Node.h:69
The exception NodeShutdownException.
Definition: Node.h:25
Definition: CtrlCHandler.h:13
The Node class allows creating topic readers and writers.
Definition: Node.h:39
Node(int &argc, char *argv[], T &&... iceArgs)
Construct a DataStorm node.
Definition: Node.h:89
Node(T &&... iceArgs)
Construct a DataStorm node.
Definition: Node.h:146