#ifndef PPAPI_PROXY_PPAPI_PARAM_TRAITS_H_
#define PPAPI_PROXY_PPAPI_PARAM_TRAITS_H_
#include <string>
#include <vector>
#include "build/build_config.h"
#include "ipc/ipc_message_utils.h"
#include "ipc/ipc_platform_file.h"
#include "ppapi/c/pp_completion_callback.h"
#include "ppapi/c/pp_rect.h"
#include "ppapi/c/pp_var.h"
#include "ppapi/proxy/ppapi_proxy_export.h"
#include "ppapi/shared_impl/file_path.h"
#include "ppapi/shared_impl/file_ref_create_info.h"
#include "ppapi/shared_impl/media_stream_video_track_shared.h"
#include "ppapi/shared_impl/ppapi_permissions.h"
#include "ppapi/shared_impl/socket_option_data.h"
struct PP_NetAddress_Private;
namespace ppapi {
class HostResource;
class PPB_X509Certificate_Fields;
namespace proxy {
struct PPBURLLoader_UpdateProgress_Params;
struct SerializedDirEntry;
struct SerializedFontDescription;
class SerializedHandle;
class SerializedVar;
}
}
namespace IPC {
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<PP_Bool> { … };
template <>
struct PPAPI_PROXY_EXPORT ParamTraits<PP_NetAddress_Private> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<
ppapi::proxy::PPBURLLoader_UpdateProgress_Params> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::proxy::SerializedDirEntry> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::proxy::SerializedFontDescription> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::proxy::SerializedHandle> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::HostResource> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::proxy::SerializedVar> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<
std::vector<ppapi::proxy::SerializedVar> > { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::PpapiPermissions> { … };
#if !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
template <>
struct ParamTraits<ppapi::PepperFilePath> { … };
#endif
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::PPB_X509Certificate_Fields> { … };
template<>
struct PPAPI_PROXY_EXPORT ParamTraits<ppapi::SocketOptionData> { … };
}
#endif