16 #ifndef ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_IPC_IPCROUTER_H_ 17 #define ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_IPC_IPCROUTER_H_ 22 #include <unordered_map> 37 namespace sampleApplications {
38 namespace ipcServerSampleApp {
67 static std::shared_ptr<IPCRouter>
create(
68 std::shared_ptr<communication::MessagingServerInterface> messagingServer,
69 std::shared_ptr<IPCDispatcherInterface> ipcDispatcher,
70 std::shared_ptr<IPCVersionManager> ipcVersionManager);
84 std::weak_ptr<IPCHandlerBase> handler)
override;
95 struct HandlerInstance {
97 std::weak_ptr<IPCHandlerBase> handler;
108 std::shared_ptr<communication::MessagingServerInterface> messagingServer,
109 std::shared_ptr<IPCDispatcherInterface> ipcDispatcher,
110 const std::shared_ptr<IPCVersionManager> ipcVersionManager);
119 std::shared_ptr<IPCHandlerBase> getHandlerRegisteredLocked(
const std::string& ipcNamespace);
122 std::unordered_map<std::string, HandlerInstance> m_handlerMap;
125 std::shared_ptr<communication::MessagingServerInterface> m_messagingServer;
128 std::shared_ptr<communication::MessageListenerInterface> m_messageListener;
131 std::shared_ptr<IPCVersionManager> m_ipcVersionManager;
134 std::shared_ptr<IPCDispatcherInterface> m_ipcDispatcher;
145 #endif // ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_IPC_IPCROUTER_H_
bool deregisterHandler(const std::string &ipcNamespace) override
Definition: IPCHandlerRegistrationInterface.h:32
::std::string string
Definition: gtest-port.h:1097
Definition: RequiresShutdown.h:32
Definition: IPCRouter.h:55
void onMessage(const std::string &message)
std::shared_ptr< IPCDispatcherInterface > registerHandler(const std::string &ipcNamespace, std::weak_ptr< IPCHandlerBase > handler) override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
static std::shared_ptr< IPCRouter > create(std::shared_ptr< communication::MessagingServerInterface > messagingServer, std::shared_ptr< IPCDispatcherInterface > ipcDispatcher, std::shared_ptr< IPCVersionManager > ipcVersionManager)
tuple message
Definition: gtest_output_test.py:331
void doShutdown() override