Dev...
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#include "defines.h"
|
||||
#include "CANDatabase.h"
|
||||
#include "kvaDbLib.h"
|
||||
#include "GeneralMessagesLogDispatcher.h"
|
||||
|
||||
const char* sigEncToStr(KvaDbSignalEncoding sigEnc);
|
||||
const char* sigRepToStr(KvaDbSignalType sigType);
|
||||
@@ -8,7 +8,7 @@ const char* sigRepToStr(KvaDbSignalType sigType);
|
||||
|
||||
CCANDatabase::CCANDatabase(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
mDatabaseFileLoaded = false;
|
||||
}
|
||||
|
||||
CCANDatabase::~CCANDatabase()
|
||||
@@ -20,214 +20,322 @@ int CCANDatabase::Init(QString DatabaseFileName)
|
||||
{
|
||||
mDatabaseFileName = DatabaseFileName;
|
||||
|
||||
LoadDatabaseFile(DatabaseFileName);
|
||||
|
||||
return RET_OK;
|
||||
return LoadDatabaseFile(DatabaseFileName);
|
||||
}
|
||||
|
||||
int CCANDatabase::LoadDatabaseFile(QString Filename)
|
||||
{
|
||||
KvaDbStatus status;
|
||||
unsigned int flags = 0;
|
||||
mDatabaseFileLoaded = false;
|
||||
|
||||
#define printf qDebug
|
||||
// Open a database handle
|
||||
status = kvaDbOpen(&mDatabaseDriverHandle);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible d'initialiser la base de données (création du handle impossble"),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("Could not create a database handle: %d\n", status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
KvaDbStatus status;
|
||||
KvaDbHnd dh = 0;
|
||||
KvaDbMessageHnd mh = 0;
|
||||
KvaDbSignalHnd sh = 0;
|
||||
unsigned int flags = 0;
|
||||
char filename[] = "IVT-S_all-variations_12082020.dbc";
|
||||
// Load the database file
|
||||
|
||||
status = kvaDbReadFile(mDatabaseDriverHandle, Filename.toLocal8Bit().data());
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger le fichier %1").arg(Filename),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("Could not load '%s': %d\n", Filename.toLocal8Bit().data(), status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
status = kvaDbGetFlags(mDatabaseDriverHandle, &flags);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger les flags"),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("kvaDbGetFlags failed: %d\n", status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Base de données chargée avec succès. Flags: 0x%1").arg(flags),true);
|
||||
qDebug(" Database: flags=0x%x\n", flags);
|
||||
|
||||
mDatabaseFileLoaded = true;
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CCANDatabase::BuildMessageList(QList<CCANMessage *> *MsgListPtr)
|
||||
{
|
||||
if(mDatabaseFileLoaded == false)
|
||||
{
|
||||
qDebug("CCANDatabase error: Trying to build an unloaded database");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
if(MsgListPtr == 0)
|
||||
{
|
||||
qDebug("CCANDatabase error: Trying to load database in an invalid list pointer...");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
KvaDbStatus status;
|
||||
KvaDbMessageHnd mh = 0;
|
||||
KvaDbSignalHnd sh = 0;
|
||||
unsigned int flags = 0;
|
||||
|
||||
// Get the first message in the database
|
||||
status = kvaDbGetFirstMsg (mDatabaseDriverHandle, &mh);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger le premier message"),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug ("kvaDbGetFirstMsg failed: %d\n", status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
// Go through all messages in the database
|
||||
while (status == kvaDbOK)
|
||||
{
|
||||
CCANMessage *NewMsg = new CCANMessage;
|
||||
char msg_name[100];
|
||||
// char msg_qname[200];
|
||||
char msg_comment[200];
|
||||
int dlc = 0;
|
||||
unsigned int id = 0;
|
||||
|
||||
|
||||
// Open a database handle
|
||||
status = kvaDbOpen (&dh);
|
||||
if (status != kvaDbOK) {
|
||||
printf("Could not create a database handle: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
// Load the database file
|
||||
status = kvaDbReadFile (dh, filename);
|
||||
if (status != kvaDbOK) {
|
||||
printf("Could not load '%s': %d\n", filename, status);
|
||||
return status;
|
||||
}
|
||||
// Clear the strings
|
||||
memset(msg_name, 0, sizeof(msg_name));
|
||||
// memset(msg_qname, 0, sizeof(msg_qname));
|
||||
memset(msg_comment, 0, sizeof(msg_comment));
|
||||
|
||||
status = kvaDbGetFlags(dh, &flags);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetFlags failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
printf (" Database: flags=0x%x\n", flags);
|
||||
// Get the properties for each message
|
||||
status = kvaDbGetMsgName (mh, msg_name, sizeof (msg_name));
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetMsgName failed: %d\n", status);
|
||||
// return RET_GENERAL_ERROR;
|
||||
}
|
||||
NewMsg->mCANMsgName = QString(msg_name);
|
||||
|
||||
// status = kvaDbGetMsgQualifiedName (mh, msg_qname, sizeof (msg_qname));
|
||||
// if (status != kvaDbOK)
|
||||
// {
|
||||
// qDebug ("kvaDbGetMsgQualifiedName failed: %d\n", status);
|
||||
// return RET_GENERAL_ERROR;
|
||||
// }
|
||||
|
||||
status = kvaDbGetMsgComment (mh, msg_comment, sizeof (msg_comment));
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetMsgComment failed: %d\n", status);
|
||||
// return RET_GENERAL_ERROR;
|
||||
}
|
||||
NewMsg->mCANMsgComment = QString(msg_comment);
|
||||
|
||||
status = kvaDbGetMsgId (mh, &id, &flags);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetMsgId failed: %d\n", status);
|
||||
// return RET_GENERAL_ERROR;
|
||||
}
|
||||
NewMsg->mCANMsgID = id;
|
||||
NewMsg->mCANMsgFlags = flags;
|
||||
|
||||
status = kvaDbGetMsgDlc (mh, &dlc);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetMsgDlc failed: %d\n", status);
|
||||
// return RET_GENERAL_ERROR;
|
||||
}
|
||||
NewMsg->mCANMsgLength = dlc;
|
||||
|
||||
|
||||
// Get the first message in the database
|
||||
status = kvaDbGetFirstMsg (dh, &mh);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetFirstMsg failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
// Go through all messages in the database
|
||||
while (status == kvaDbOK) {
|
||||
char msg_name[100];
|
||||
char msg_qname[200];
|
||||
char msg_comment[200];
|
||||
int dlc = 0;
|
||||
unsigned int id = 0;
|
||||
|
||||
// Clear the strings
|
||||
memset(msg_name, 0, sizeof(msg_name));
|
||||
memset(msg_qname, 0, sizeof(msg_qname));
|
||||
memset(msg_comment, 0, sizeof(msg_comment));
|
||||
|
||||
// Get the properties for each message
|
||||
status = kvaDbGetMsgName (mh, msg_name, sizeof (msg_name));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetMsgName failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = kvaDbGetMsgQualifiedName (mh, msg_qname, sizeof (msg_qname));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetMsgQualifiedName failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = kvaDbGetMsgComment (mh, msg_comment, sizeof (msg_comment));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetMsgComment failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = kvaDbGetMsgId (mh, &id, &flags);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetMsgId failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = kvaDbGetMsgDlc (mh, &dlc);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetMsgDlc failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
// Print the properties for each message
|
||||
printf (" Msg: name='%s'\n", msg_name);
|
||||
printf (" qname='%s', comment='%s'\n", msg_qname, msg_comment);
|
||||
printf (" id=%x, dlc=%d, flags=%x\n", id, dlc, flags);
|
||||
// // Print the properties for each message
|
||||
// qDebug (" Msg: name='%s'\n", msg_name);
|
||||
// qDebug (" qname='%s', comment='%s'\n", msg_qname, msg_comment);
|
||||
// qDebug (" id=%x, dlc=%d, flags=%x\n", id, dlc, flags);
|
||||
|
||||
|
||||
// Go through all signals for this message
|
||||
status = kvaDbGetFirstSignal (mh, &sh);
|
||||
while (status == kvaDbOK) {
|
||||
char signal_name[100];
|
||||
char signal_qname[200];
|
||||
char signal_comment[200];
|
||||
char signal_unit[100];
|
||||
KvaDbSignalEncoding sigEnc;
|
||||
KvaDbSignalType sigType;
|
||||
int startbit = 0;
|
||||
int length = 0;
|
||||
double minval = 0;
|
||||
double maxval = 0;
|
||||
double factor = 0;
|
||||
double offset = 0;
|
||||
// Go through all signals for this message
|
||||
status = kvaDbGetFirstSignal (mh, &sh);
|
||||
while (status == kvaDbOK)
|
||||
{
|
||||
CCANSignal *NewSignal = new CCANSignal;
|
||||
char signal_name[100];
|
||||
char signal_qname[200];
|
||||
char signal_comment[200];
|
||||
char signal_unit[100];
|
||||
KvaDbSignalEncoding sigEnc;
|
||||
KvaDbSignalType sigType;
|
||||
int startbit = 0;
|
||||
int length = 0;
|
||||
double minval = 0;
|
||||
double maxval = 0;
|
||||
double factor = 0;
|
||||
double offset = 0;
|
||||
|
||||
// Reset the strings
|
||||
memset(signal_name, 0, sizeof(signal_name));
|
||||
memset(signal_qname, 0, sizeof(signal_qname));
|
||||
memset(signal_comment, 0, sizeof(signal_comment));
|
||||
memset(signal_unit, 0, sizeof(signal_unit));
|
||||
// Reset the strings
|
||||
memset(signal_name, 0, sizeof(signal_name));
|
||||
memset(signal_qname, 0, sizeof(signal_qname));
|
||||
memset(signal_comment, 0, sizeof(signal_comment));
|
||||
memset(signal_unit, 0, sizeof(signal_unit));
|
||||
|
||||
// Get the properties for each signal.
|
||||
status = kvaDbGetSignalName (sh, signal_name, sizeof (signal_name));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalName failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
// Get the properties for each signal.
|
||||
status = kvaDbGetSignalName (sh, signal_name, sizeof (signal_name));
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalName failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
NewSignal->mSignalName = QString(signal_name);
|
||||
|
||||
status = kvaDbGetSignalQualifiedName (sh, signal_qname, sizeof (signal_qname));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalQualifiedName failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
// status = kvaDbGetSignalQualifiedName (sh, signal_qname, sizeof (signal_qname));
|
||||
// if (status != kvaDbOK)
|
||||
// {
|
||||
// qDebug ("kvaDbGetSignalQualifiedName failed: %d\n", status);
|
||||
//// return status;
|
||||
// }
|
||||
|
||||
status = kvaDbGetSignalComment (sh, signal_comment, sizeof (signal_comment));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalComment failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = kvaDbGetSignalUnit (sh, signal_unit, sizeof (signal_unit));
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalUnit failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
status = kvaDbGetSignalComment (sh, signal_comment, sizeof (signal_comment));
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalComment failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
NewSignal->mSignalComment = QString(signal_comment);
|
||||
|
||||
status = kvaDbGetSignalEncoding (sh, &sigEnc);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalEncoding failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
status = kvaDbGetSignalUnit (sh, signal_unit, sizeof (signal_unit));
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalUnit failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
NewSignal->mSignalUnit = QString(signal_unit);
|
||||
|
||||
status = kvaDbGetSignalRepresentationType(sh, &sigType);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalRepresentationType failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
status = kvaDbGetSignalEncoding (sh, &sigEnc);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalEncoding failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
if(sigEnc == kvaDb_Intel)
|
||||
{
|
||||
NewSignal->mEncoding = CCANSignal::CAN_SIGNAL_ENCODING_INTEL;
|
||||
}
|
||||
else if(sigEnc == kvaDb_Motorola)
|
||||
{
|
||||
NewSignal->mEncoding = CCANSignal::CAN_SIGNAL_ENCODING_MOTOROLA;
|
||||
}
|
||||
else
|
||||
{
|
||||
NewSignal->mEncoding = CCANSignal::CAN_SIGNAL_ENCODING_INVALID;
|
||||
qDebug ("kvaDbGetSignalEncoding returned an invalid encoding type: %d\n", sigEnc);
|
||||
}
|
||||
|
||||
status = kvaDbGetSignalValueLimits(sh, &minval, &maxval);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalValueLimits failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
status = kvaDbGetSignalRepresentationType(sh, &sigType);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalRepresentationType failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
switch(sigType)
|
||||
{
|
||||
|
||||
status = kvaDbGetSignalValueScaling(sh, &factor, &offset);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalValueScaling failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
case kvaDb_Signed: ///< Signed integer
|
||||
{
|
||||
NewSignal->mValueType = CCANSignal::CAN_SIGNAL_TYPE_SIGNED_INT;
|
||||
break;
|
||||
}
|
||||
case kvaDb_Unsigned: ///< Unsigned integer
|
||||
{
|
||||
NewSignal->mValueType = CCANSignal::CAN_SIGNAL_TYPE_UNSIGNED_INT;
|
||||
break;
|
||||
}
|
||||
case kvaDb_Float: ///< Float, strictly 32 bit long
|
||||
{
|
||||
NewSignal->mValueType = CCANSignal::CAN_SIGNAL_TYPE_32_BIT_FLOAT;
|
||||
break;
|
||||
}
|
||||
case kvaDb_Double:
|
||||
{
|
||||
NewSignal->mValueType = CCANSignal::CAN_SIGNAL_TYPE_64_BIT_DOUBLE;
|
||||
break;
|
||||
}
|
||||
case kvaDb_Invalid: ///< Invalid representation
|
||||
default:
|
||||
{
|
||||
qDebug ("kvaDbGetSignalRepresentationType returned invalid type: %d\n", sigType);
|
||||
NewSignal->mValueType = CCANSignal::CAN_SIGNAL_TYPE_INVALID;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
status = kvaDbGetSignalValueSize(sh, &startbit, &length);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbGetSignalValueSize failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
status = kvaDbGetSignalValueLimits(sh, &minval, &maxval);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalValueLimits failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
NewSignal->mMinValue = minval;
|
||||
NewSignal->mMaxValue = maxval;
|
||||
|
||||
printf(" Signal: name='%s', unit='%s'\n", signal_name, signal_unit);
|
||||
printf(" qname='%s'\n", signal_qname);
|
||||
printf(" comment='%s'\n", signal_comment);
|
||||
printf(" encoding='%s'\n", sigEncToStr(sigEnc));
|
||||
printf(" representation='%s'\n", sigRepToStr(sigType));
|
||||
printf(" value min=%.02f, value max=%.02f\n", minval, maxval);
|
||||
printf(" scale faktor=%.02f, offset=%.02f\n", factor, offset);
|
||||
printf(" startbit=%d, length=%d\n", startbit, length);
|
||||
status = kvaDbGetNextSignal (mh, &sh);
|
||||
}
|
||||
status = kvaDbGetSignalValueScaling(sh, &factor, &offset);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalValueScaling failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
NewSignal->mValueFactor = factor;
|
||||
NewSignal->mValueOffset = offset;
|
||||
|
||||
status = kvaDbGetNextMsg (dh, &mh);
|
||||
}
|
||||
status = kvaDbGetSignalValueSize(sh, &startbit, &length);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbGetSignalValueSize failed: %d\n", status);
|
||||
// return status;
|
||||
}
|
||||
NewSignal->mStartBit = startbit;
|
||||
NewSignal->mSignalSize = length;
|
||||
|
||||
status = kvaDbClose (dh);
|
||||
if (status != kvaDbOK) {
|
||||
printf ("kvaDbClose failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
printf("\n\n");
|
||||
qDebug(" Signal: name='%s', unit='%s'\n", signal_name, signal_unit);
|
||||
qDebug(" qname='%s'\n", signal_qname);
|
||||
qDebug(" comment='%s'\n", signal_comment);
|
||||
qDebug(" encoding='%s'\n", sigEncToStr(sigEnc));
|
||||
qDebug(" representation='%s'\n", sigRepToStr(sigType));
|
||||
qDebug(" value min=%.02f, value max=%.02f\n", minval, maxval);
|
||||
qDebug(" scale faktor=%.02f, offset=%.02f\n", factor, offset);
|
||||
qDebug(" startbit=%d, length=%d\n", startbit, length);
|
||||
|
||||
return RET_OK;
|
||||
NewMsg->AddSignal(NewSignal);
|
||||
status = kvaDbGetNextSignal (mh, &sh);
|
||||
}
|
||||
|
||||
MsgListPtr->append(NewMsg);
|
||||
status = kvaDbGetNextMsg (mDatabaseDriverHandle, &mh);
|
||||
}
|
||||
|
||||
status = kvaDbClose (mDatabaseDriverHandle);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
qDebug ("kvaDbClose failed: %d\n", status);
|
||||
return status;
|
||||
}
|
||||
|
||||
qDebug("\n\n");
|
||||
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
|
||||
const char* sigEncToStr(KvaDbSignalEncoding sigEnc)
|
||||
{
|
||||
if (sigEnc == kvaDb_Intel) {
|
||||
return "Intel";
|
||||
} else if (sigEnc == kvaDb_Motorola) {
|
||||
return "Motorola";
|
||||
} else {
|
||||
return "Undefined";
|
||||
}
|
||||
if (sigEnc == kvaDb_Intel) {
|
||||
return "Intel";
|
||||
} else if (sigEnc == kvaDb_Motorola) {
|
||||
return "Motorola";
|
||||
} else {
|
||||
return "Undefined";
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
@@ -235,17 +343,17 @@ const char* sigEncToStr(KvaDbSignalEncoding sigEnc)
|
||||
// -----------------------------------------------------------------------
|
||||
const char* sigRepToStr(KvaDbSignalType sigType)
|
||||
{
|
||||
if (sigType == kvaDb_Invalid) {
|
||||
return "Invalid";
|
||||
} else if (sigType == kvaDb_Signed) {
|
||||
return "Signed";
|
||||
} else if (sigType == kvaDb_Unsigned) {
|
||||
return "Unsigned";
|
||||
} else if (sigType == kvaDb_Float) {
|
||||
return "Float";
|
||||
} else if (sigType == kvaDb_Double) {
|
||||
return "Double";
|
||||
} else {
|
||||
return "Undefined";
|
||||
}
|
||||
if (sigType == kvaDb_Invalid) {
|
||||
return "Invalid";
|
||||
} else if (sigType == kvaDb_Signed) {
|
||||
return "Signed";
|
||||
} else if (sigType == kvaDb_Unsigned) {
|
||||
return "Unsigned";
|
||||
} else if (sigType == kvaDb_Float) {
|
||||
return "Float";
|
||||
} else if (sigType == kvaDb_Double) {
|
||||
return "Double";
|
||||
} else {
|
||||
return "Undefined";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user