|
i3ipc++
An C++ implementaiton of the i3 IPC
|
Stuff for internal usage in I3Connection. More...
Classes | |
| struct | i3ipc::header_t |
| i3 IPC header More... | |
| class | i3ipc::ipc_error |
| Base class of i3 IPC errors. More... | |
| class | i3ipc::invalid_header_error |
| Something wrong in message header (wrong magic number, message type etc.) More... | |
| class | i3ipc::eof_error |
| Socket return EOF, but expected a data. More... | |
| class | i3ipc::invalid_reply_payload_error |
| If something wrong in a payload of i3's reply. More... | |
| class | i3ipc::errno_error |
| If any error occured, while using C-functions. More... | |
| struct | i3ipc::buf_t |
| i3 IPC message buffer More... | |
Enumerations | |
| enum | i3ipc::ClientMessageType : uint32_t { COMMAND = 0, GET_WORKSPACES = 1, SUBSCRIBE = 2, GET_OUTPUTS = 3, GET_TREE = 4, GET_MARKS = 5, GET_BAR_CONFIG = 6, GET_VERSION = 7 } |
| Messages (requests), that can be sended from the client. | |
| enum | i3ipc::ReplyType : uint32_t { COMMAND = 0, WORKSPACES = 1, SUBSCRIBE = 2, OUTPUTS = 3, TREE = 4, MARKS = 5, BAR_CONFIG = 6, VERSION = 7 } |
| Replies, that can be sended from the i3 to the client. | |
Functions | |
| struct i3ipc::header_t | i3ipc::__attribute__ ((packed)) |
| int32_t | i3ipc::i3_connect (const std::string &socket_path) |
| Connect to the i3 socket. More... | |
| void | i3ipc::i3_disconnect (const int32_t sockfd) |
| Close the connection. More... | |
| void | i3ipc::i3_send (const int32_t sockfd, const buf_t &buff) |
| Send message to the socket. More... | |
| std::shared_ptr< buf_t > | i3ipc::i3_recv (const int32_t sockfd) throw (invalid_header_error, eof_error) |
| Recive a message from i3. More... | |
| std::shared_ptr< buf_t > | i3ipc::i3_pack (const ClientMessageType type, const std::string &payload) |
| Pack a buffer of message. | |
| std::shared_ptr< buf_t > | i3ipc::i3_msg (const int32_t sockfd, const ClientMessageType type, const std::string &payload=std::string()) throw (invalid_header_error, eof_error) |
| Pack, send a message and receiv a reply. More... | |
Variables | |
| i3ipc::ipc_error | i3ipc::__attribute__ |
Stuff for internal usage in I3Connection.
| int32_t i3ipc::i3_connect | ( | const std::string & | socket_path | ) |
Connect to the i3 socket.
| socket_path | a socket path |
| void i3ipc::i3_disconnect | ( | const int32_t | sockfd | ) |
Close the connection.
| sockfd | socket |
| std::shared_ptr<buf_t> i3ipc::i3_msg | ( | const int32_t | sockfd, |
| const ClientMessageType | type, | ||
| const std::string & | payload = std::string() |
||
| ) | |||
| throw | ( | invalid_header_error, | |
| eof_error | |||
| ) | |||
| std::shared_ptr<buf_t> i3ipc::i3_recv | ( | const int32_t | sockfd | ) | |
| throw | ( | invalid_header_error, | |||
| eof_error | |||||
| ) | |||||
Recive a message from i3.
| sockfd | a socket |
| void i3ipc::i3_send | ( | const int32_t | sockfd, |
| const buf_t & | buff | ||
| ) |
Send message to the socket.
| sockfd | a socket |
| buff | a message |