AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | Static Public Member Functions | List of all members
alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::LoggerHandler Class Reference

#include <LoggerHandler.h>

Inheritance diagram for alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::LoggerHandler:
Inheritance graph
Collaboration diagram for alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::LoggerHandler:
Collaboration graph

Public Member Functions

void registerHandlers ()
 Register this handler for its namespace and its methods for the corresponding namespace functions. More...
RequiresShutdown Functions
void doShutdown () override
- Public Member Functions inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
void invokeMethod (const std::string &methodName, const std::string &message)
 ~IPCHandlerBase ()
- Public Member Functions inherited from alexaClientSDK::avsCommon::utils::RequiresShutdown
 RequiresShutdown (const std::string &name)
virtual ~RequiresShutdown ()
 Destructor. More...
const std::string & name () const
void shutdown ()
bool isShutdown () const

Static Public Member Functions

static std::shared_ptr< LoggerHandlercreate (std::shared_ptr< IPCHandlerRegistrationInterface > ipcHandlerRegistrar, std::shared_ptr< LoggerHandlerInterface > loggerComponent)

Additional Inherited Members

- Public Types inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
using IPCMessageHandler = std::function< void(const std::string &)>
 Alias for the message handler function. More...
- Protected Member Functions inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
 IPCHandlerBase (const std::string &namespaceName, std::shared_ptr< alexaClientSDK::avsCommon::utils::threading::Executor > executor)
bool registerIPCMessageHandlerMethod (const std::string &methodName, IPCMessageHandler handlerFunction)
bool deregisterIPCMessageHandlerMethod (const std::string &methodName)
- Protected Attributes inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
std::string m_namespaceName
 Name of the namespace of the realized IPC handler class. More...
std::unordered_map< std::string, IPCMessageHandlerm_messageHandlers
 Dictionary to hold the IPC message handler methods. More...
std::shared_ptr< alexaClientSDK::avsCommon::utils::threading::Executorm_executor
 Executor context to support operations asynchronously. More...

Detailed Description

A contract for the handler that will handle the Logger namespace messages coming from the IPC client.

Member Function Documentation

◆ create()

static std::shared_ptr<LoggerHandler> alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::LoggerHandler::create ( std::shared_ptr< IPCHandlerRegistrationInterface ipcHandlerRegistrar,
std::shared_ptr< LoggerHandlerInterface loggerComponent 

Create an instance of LoggerHandler

ipcHandlerRegistrarUsed to register LoggerHandler.
loggerComponentHandles the parsed Logger payloads.
Shared pointer to LoggerHandler

◆ doShutdown()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::LoggerHandler::doShutdown ( )

Prepares/enables this object to be deleted. This should be the last function called on this object prior to deleting (or resetting) its shared_ptr.

  • Attempting to call functions on this object after calling shutdown() can result in undefined behavior.
  • Neglecting to call shutdown() on this object can result in resource leaks or other undefined behavior.

Implements alexaClientSDK::avsCommon::utils::RequiresShutdown.

◆ registerHandlers()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::LoggerHandler::registerHandlers ( )

Register this handler for its namespace and its methods for the corresponding namespace functions.

The documentation for this class was generated from the following file:

AlexaClientSDK 3.0.0 - Copyright 2016-2022, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0