Commit 17248ec7bd9ffbce45e466db6f34fc9e1aaaecd1
1 parent
89031c08
Exists in
master
and in
1 other branch
Working on the new IPC API.
Showing
3 changed files
with
44 additions
and
4 deletions
Show diff stats
ipc/session.cc
| @@ -81,11 +81,32 @@ | @@ -81,11 +81,32 @@ | ||
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | std::string IPC::Session::toString(int baddr, size_t len, char lf) const { | 83 | std::string IPC::Session::toString(int baddr, size_t len, char lf) const { |
| 84 | - throw std::system_error(EINVAL, std::system_category()); | 84 | + |
| 85 | + std::string rc; | ||
| 86 | + | ||
| 87 | + Request(*this,"getStringAtAddress") | ||
| 88 | + .push((uint32_t) baddr) | ||
| 89 | + .push((uint32_t) len) | ||
| 90 | + .push((uint8_t) lf) | ||
| 91 | + .call() | ||
| 92 | + .pop(rc); | ||
| 93 | + | ||
| 94 | + return rc; | ||
| 85 | } | 95 | } |
| 86 | 96 | ||
| 87 | std::string IPC::Session::toString(int row, int col, size_t sz, char lf) const { | 97 | std::string IPC::Session::toString(int row, int col, size_t sz, char lf) const { |
| 88 | - throw std::system_error(EINVAL, std::system_category()); | 98 | + |
| 99 | + std::string rc; | ||
| 100 | + | ||
| 101 | + Request(*this,"getStringAt") | ||
| 102 | + .push((uint32_t) row) | ||
| 103 | + .push((uint32_t) col) | ||
| 104 | + .push((uint32_t) sz) | ||
| 105 | + .push((uint8_t) lf) | ||
| 106 | + .call() | ||
| 107 | + .pop(rc); | ||
| 108 | + | ||
| 109 | + return rc; | ||
| 89 | } | 110 | } |
| 90 | 111 | ||
| 91 | ProgramMessage IPC::Session::getProgramMessage() const { | 112 | ProgramMessage IPC::Session::getProgramMessage() const { |
linux/request.cc
| @@ -146,11 +146,27 @@ | @@ -146,11 +146,27 @@ | ||
| 146 | return *this; | 146 | return *this; |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | - IPC::Request & IPC::Request::push(int32_t arg) { | 149 | + IPC::Request & IPC::Request::push(const bool arg) { |
| 150 | + dbus_message_append_args(this->msg.out,DBUS_TYPE_BOOLEAN,&arg,DBUS_TYPE_INVALID); | ||
| 151 | + return *this; | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + IPC::Request & IPC::Request::push(const uint8_t arg) { | ||
| 155 | + dbus_message_append_args(this->msg.out,DBUS_TYPE_BYTE,&arg,DBUS_TYPE_INVALID); | ||
| 156 | + return *this; | ||
| 157 | + } | ||
| 158 | + | ||
| 159 | + IPC::Request & IPC::Request::push(const int32_t arg) { | ||
| 150 | dbus_message_append_args(this->msg.out,DBUS_TYPE_INT32,&arg,DBUS_TYPE_INVALID); | 160 | dbus_message_append_args(this->msg.out,DBUS_TYPE_INT32,&arg,DBUS_TYPE_INVALID); |
| 151 | return *this; | 161 | return *this; |
| 152 | } | 162 | } |
| 153 | 163 | ||
| 164 | + IPC::Request & IPC::Request::push(const uint32_t arg) { | ||
| 165 | + dbus_message_append_args(this->msg.out,DBUS_TYPE_UINT32,&arg,DBUS_TYPE_INVALID); | ||
| 166 | + return *this; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + | ||
| 154 | IPC::Request & IPC::Request::pop(std::string &value) { | 170 | IPC::Request & IPC::Request::pop(std::string &value) { |
| 155 | 171 | ||
| 156 | const char * str = ""; | 172 | const char * str = ""; |
private.h
| @@ -295,7 +295,10 @@ | @@ -295,7 +295,10 @@ | ||
| 295 | 295 | ||
| 296 | // Push values | 296 | // Push values |
| 297 | Request & push(const char *arg); | 297 | Request & push(const char *arg); |
| 298 | - Request & push(int32_t arg); | 298 | + Request & push(const bool arg); |
| 299 | + Request & push(const int32_t arg); | ||
| 300 | + Request & push(const uint32_t arg); | ||
| 301 | + Request & push(const uint8_t arg); | ||
| 299 | 302 | ||
| 300 | // Pop values | 303 | // Pop values |
| 301 | Request & pop(std::string &value); | 304 | Request & pop(std::string &value); |