Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /ipc /param_traits_read_macros.h
blob: a9757051fc67dec1dcea1800ca8a9ab92d9193d0 [file] [log] [blame] [edit]
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IPC_PARAM_TRAITS_READ_MACROS_H_
#define IPC_PARAM_TRAITS_READ_MACROS_H_
// Null out all the macros that need nulling.
#include"ipc/ipc_message_null_macros.h"
// Set up so next include will generate read methods.
#undef IPC_STRUCT_TRAITS_BEGIN
#undef IPC_STRUCT_TRAITS_MEMBER
#undef IPC_STRUCT_TRAITS_PARENT
#undef IPC_STRUCT_TRAITS_END
#define IPC_STRUCT_TRAITS_BEGIN(struct_name) \
boolParamTraits<struct_name>::Read( \
constbase::Pickle* m,base::PickleIterator* iter, param_type* p){ \
return
#define IPC_STRUCT_TRAITS_MEMBER(name)ReadParam(m, iter,&p->name)&&
#define IPC_STRUCT_TRAITS_PARENT(type)ParamTraits<type>::Read(m, iter, p)&&
#define IPC_STRUCT_TRAITS_END()1;}
#undef IPC_ENUM_TRAITS_VALIDATE
#define IPC_ENUM_TRAITS_VALIDATE(enum_name, validation_expression) \
boolParamTraits<enum_name>::Read( \
constbase::Pickle* m,base::PickleIterator* iter, param_type* p){ \
int value; \
if(!iter->ReadInt(&value)) \
returnfalse; \
if(!(validation_expression)) \
returnfalse; \
*p=static_cast<param_type>(value); \
returntrue; \
}
#endif// IPC_PARAM_TRAITS_READ_MACROS_H_

[8]ページ先頭

©2009-2025 Movatter.jp