summaryrefslogtreecommitdiff
path: root/src/components/transport_manager/include/transport_manager/android/ipc_sender.h
blob: 876532aa855468fba6acdeffd14aefe4c5b230e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_ANDROID_IPC_SENDER_H_
#define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_ANDROID_IPC_SENDER_H_

#include "protocol/raw_message.h"

namespace transport_manager {
namespace transport_adapter {

class IpcSender
{
public:

    virtual ~IpcSender() {}

    /**
    * @brief Initialize sender
    * @param ipc_name local socket name
    */
    virtual void Init(const std::string& ipc_name) = 0;

    /**
    * @brief Run sending cycle
    */
    virtual void Run() = 0;
    
    /**
    * @brief Run sending
    */
    virtual void Stop() = 0;
    
    /**
    * @brief Send message
    * @param message message to send
    */
    virtual void Send(::protocol_handler::RawMessagePtr message) = 0;

};

}  // namespace transport_adapter
}  // namespace transport_manager

#endif  // SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_ANDROID_IPC_SENDER_H_