Example #1
0
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);
	}
}
Example #2
0
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;
}