| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SRC_DEVELOPER_DEBUG_DEBUG_AGENT_REMOTE_API_H_ |
| #define SRC_DEVELOPER_DEBUG_DEBUG_AGENT_REMOTE_API_H_ |
| |
| #include "src/developer/debug/ipc/protocol.h" |
| |
| namespace debug_agent { |
| |
| // This is an abstract class that implements calls corresponding to the |
| // client->agent IPC requests. |
| class RemoteAPI { |
| public: |
| // Get the IPC version that should be used to deserialize. |
| virtual uint32_t GetVersion() = 0; |
| |
| #define FN(type) \ |
| virtual void On##type(const debug_ipc::type##Request& request, debug_ipc::type##Reply* reply) = 0; |
| |
| FOR_EACH_REQUEST_TYPE(FN) |
| #undef FN |
| }; |
| |
| } // namespace debug_agent |
| |
| #endif // SRC_DEVELOPER_DEBUG_DEBUG_AGENT_REMOTE_API_H_ |