#ifndef NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_BROWSER_CALLBACK_H_
#define NATIVE_CLIENT_SRC_SHARED_PPAPI_PROXY_BROWSER_CALLBACK_H_
#include "native_client/src/include/portability.h"
#include "native_client/src/trusted/service_runtime/include/machine/_types.h"
struct NaClSrpcChannel;
struct PP_CompletionCallback;
struct PP_Var;
namespace ppapi_proxy {
typedef bool (*CheckResultFunc)(int32_t result);
typedef nacl_abi_size_t (*GetReadSizeFunc)(int32_t result);
struct PP_CompletionCallback MakeRemoteCompletionCallback(
NaClSrpcChannel* srpc_channel,
int32_t callback_id);
struct PP_CompletionCallback MakeRemoteCompletionCallback(
NaClSrpcChannel* srpc_channel,
int32_t callback_id,
int32_t bytes_to_read,
char** buffer);
struct PP_CompletionCallback MakeRemoteCompletionCallback(
NaClSrpcChannel* srpc_channel,
int32_t callback_id,
int32_t bytes_to_read,
char** buffer,
CheckResultFunc check_result,
GetReadSizeFunc get_size_read_func);
struct PP_CompletionCallback MakeRemoteCompletionCallback(
NaClSrpcChannel* srpc_channel,
int32_t callback_id,
PP_Var** var);
struct PP_CompletionCallback MakeRemoteCompletionCallback(
NaClSrpcChannel* srpc_channel,
int32_t callback_id,
int32_t bytes_to_read,
char** buffer,
PP_Var** var,
CheckResultFunc check_result,
GetReadSizeFunc get_size_read_func);
void DeleteRemoteCallbackInfo(struct PP_CompletionCallback callback);
}
#endif