in remote/gen-cpp/cef_client_types.cpp [1085:1218]
uint32_t MenuItem::read(::apache::thrift::protocol::TProtocol* iprot) {
::apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
uint32_t xfer = 0;
std::string fname;
::apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using ::apache::thrift::protocol::TProtocolException;
bool isset_command_id = false;
bool isset_label = false;
bool isset_type = false;
bool isset_group_id = false;
bool isset_visible = false;
bool isset_enabled = false;
bool isset_checked = false;
bool isset_sub_menu = false;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == ::apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 1:
if (ftype == ::apache::thrift::protocol::T_I32) {
xfer += iprot->readI32(this->command_id);
isset_command_id = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 2:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->label);
isset_label = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 3:
if (ftype == ::apache::thrift::protocol::T_I32) {
int32_t ecast8;
xfer += iprot->readI32(ecast8);
this->type = static_cast<MenuItemType::type>(ecast8);
isset_type = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 4:
if (ftype == ::apache::thrift::protocol::T_I32) {
xfer += iprot->readI32(this->group_id);
isset_group_id = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 5:
if (ftype == ::apache::thrift::protocol::T_BOOL) {
xfer += iprot->readBool(this->visible);
isset_visible = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 6:
if (ftype == ::apache::thrift::protocol::T_BOOL) {
xfer += iprot->readBool(this->enabled);
isset_enabled = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 7:
if (ftype == ::apache::thrift::protocol::T_BOOL) {
xfer += iprot->readBool(this->checked);
isset_checked = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 8:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->sub_menu.clear();
uint32_t _size9;
::apache::thrift::protocol::TType _etype12;
xfer += iprot->readListBegin(_etype12, _size9);
this->sub_menu.resize(_size9);
uint32_t _i13;
for (_i13 = 0; _i13 < _size9; ++_i13)
{
xfer += this->sub_menu[_i13].read(iprot);
}
xfer += iprot->readListEnd();
}
isset_sub_menu = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
if (!isset_command_id)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_label)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_type)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_group_id)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_visible)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_enabled)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_checked)
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_sub_menu)
throw TProtocolException(TProtocolException::INVALID_DATA);
return xfer;
}