blob: 9a26e4352efe6d212d4a214e9ddcbef739afd542 [file] [log] [blame]
// 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_