in src/qmf/Schema.cpp [298:346]
bool SchemaImpl::isCompatibleType(int qmfType, qpid::types::VariantType qpidType) const
{
bool typeValid(false);
switch (qpidType) {
case qpid::types::VAR_VOID:
if (qmfType == SCHEMA_DATA_VOID)
typeValid = true;
break;
case qpid::types::VAR_BOOL:
if (qmfType == SCHEMA_DATA_BOOL)
typeValid = true;
break;
case qpid::types::VAR_UINT8:
case qpid::types::VAR_UINT16:
case qpid::types::VAR_UINT32:
case qpid::types::VAR_UINT64:
case qpid::types::VAR_INT8:
case qpid::types::VAR_INT16:
case qpid::types::VAR_INT32:
case qpid::types::VAR_INT64:
if (qmfType == SCHEMA_DATA_INT)
typeValid = true;
break;
case qpid::types::VAR_FLOAT:
case qpid::types::VAR_DOUBLE:
if (qmfType == SCHEMA_DATA_FLOAT)
typeValid = true;
break;
case qpid::types::VAR_STRING:
if (qmfType == SCHEMA_DATA_STRING)
typeValid = true;
break;
case qpid::types::VAR_MAP:
if (qmfType == SCHEMA_DATA_MAP)
typeValid = true;
break;
case qpid::types::VAR_LIST:
if (qmfType == SCHEMA_DATA_LIST)
typeValid = true;
break;
case qpid::types::VAR_UUID:
if (qmfType == SCHEMA_DATA_UUID)
typeValid = true;
break;
}
return typeValid;
}