void VValueBag::AppendToCData( const VString& inValue) { VValueSingle *val = fAttributes.GetValue( CDataAttributeName()); if (val != NULL) { VString *val_str = dynamic_cast<VString*>( val); if (val_str) val_str->AppendString( inValue); else { VString *temp = new VString; if (temp) { val->GetString( *temp); temp->AppendString( inValue); fAttributes.Replace( val, temp); } } } else { fAttributes.SetValue( CDataAttributeName(), inValue); } }
JS4D::ValueRef JS4D::VValueToValue( ContextRef inContext, const VValueSingle& inValue, ValueRef *outException) { ValueRef jsValue; switch( inValue.GetValueKind()) { case VK_BYTE: case VK_WORD: case VK_LONG: case VK_LONG8: case VK_REAL: case VK_FLOAT: case VK_SUBTABLE_KEY: jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : JSValueMakeNumber( inContext, inValue.GetReal()); break; case VK_BOOLEAN: jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : JSValueMakeBoolean( inContext, inValue.GetBoolean() != 0); break; case VK_UUID: if (inValue.IsNull()) jsValue = JSValueMakeNull( inContext) ; else { VString tempS; inValue.GetString(tempS); jsValue = VStringToValue( inContext, tempS); } break; case VK_TEXT: case VK_STRING: #if VERSIONDEBUG jsValue = VStringToValue( inContext, dynamic_cast<const VString&>( inValue)); #else jsValue = VStringToValue( inContext, (const VString&)( inValue)); #endif break; case VK_TIME: #if VERSIONDEBUG jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : VTimeToObject( inContext, dynamic_cast<const VTime&>( inValue), outException); #else jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : VTimeToObject( inContext, (const VTime&)( inValue), outException); #endif break; case VK_DURATION: #if VERSIONDEBUG jsValue = VDurationToValue( inContext, dynamic_cast<const VDuration&>( inValue)); #else jsValue = VDurationToValue( inContext, (const VDuration&)( inValue)); #endif break; case VK_BLOB: jsValue = VBlobToValue( inContext, (const VBlob&)( inValue)); break; case VK_IMAGE: #if !VERSION_LINUX // Postponed Linux Implementation ! jsValue = VPictureToValue(inContext, (const VPicture&)( inValue)); #endif break; default: jsValue = JSValueMakeUndefined( inContext); // exception instead ? break; } return jsValue; }