コード例 #1
0
ファイル: VUUID.cpp プロジェクト: sanyaade-iot/core-XToolbox
CompareResult VUUID::CompareTo (const VValueSingle& inValue, Boolean /*inDiacritical*/) const
{
	if (!testAssert(inValue.GetValueKind() == VK_UUID))
		return CR_UNRELEVANT;
	
	return CompareToSameKind(&inValue);
}
コード例 #2
0
bool VJSONSingleObjectWriter::AddMember( const VString& inName, const VValueSingle &inValue, JSONOption inModifier)
{
	bool ok = false;
	VString valueString;

	if(testAssert(inValue.GetJSONString( valueString, inModifier) == VE_OK) && !inName.IsEmpty())
	{
		if (fIsClosed)
		{
			fObject.Remove( fObject.GetLength(), 1);
			fIsClosed = false;
		}

		if (fMembersCount > 0)
			fObject.AppendUniChar( ',');
		
		fObject.AppendUniChar( '"');
		fObject.AppendString( inName);
		fObject.AppendUniChar( '"');
		fObject.AppendUniChar( ':');
		fObject.AppendString( valueString);
		++fMembersCount;
		ok = true;
	}
	return ok;
}
コード例 #3
0
void VJSONArrayWriter::Add(const VValueSingle &inAny, JSONOption inModifier)
{
	VString		aStr;
	
	if(testAssert(inAny.GetJSONString(aStr, inModifier) == VE_OK))
	{
		_ReopenIfNeeded();
		
		fArrayRef += aStr;
		fArrayRef += ",";
	}
}
コード例 #4
0
ファイル: VCommand.cpp プロジェクト: StephaneH/core-XToolbox
void VCommand::UpdateValue(const VValueSingle& inValue, const ICommandListener* inExcept)
{
	VValueBag* bag = new VValueBag;
	if (bag != NULL)
	{
		bag->SetAttribute(CVSTR("__command_value__"), dynamic_cast<VValueSingle*>(inValue.Clone()));
		
		UpdateValue(bag, inExcept);

		bag->Release();
	}
}
コード例 #5
0
ファイル: VCommand.cpp プロジェクト: StephaneH/core-XToolbox
bool VCommand::Trigger(const VValueSingle& inValue, const ICommandListener* inExcept)
{
	bool called = false;
	VValueBag* bag = new VValueBag;
	if (bag != NULL)
	{
		bag->SetAttribute(CVSTR("__command_value__"), dynamic_cast<VValueSingle*>(inValue.Clone()));
		
		called = Trigger(bag, inExcept);
		
		bag->Release();
	}
	return called;
}
コード例 #6
0
VValueSingle* VJSONValue::CreateVValue(bool differentiateObjects) const
{
	VValueSingle* result = nil;
	switch (fType)
	{
		case JSON_true:
			result = new VBoolean(true);
			break;

		case JSON_false:
			result = new VBoolean(false);
			break;

		case JSON_string:
			result = new VString(fString);
			break;

		case JSON_number:
			result = new VReal(fNumber);
			break;

		case JSON_date:
			result = new VTime();
			((VTime*)result)->FromMilliseconds(fTimeStamp);
			break;

		case JSON_object:
			if (differentiateObjects)
			{
				result = new VString("\x01\x02\x03\x01");
				result->SetNull(false);
			}
			else
			{
				result = new VString();
				result->SetNull(true);
			}
			break;
		case JSON_array:
			if (differentiateObjects)
			{
				result = new VString("\x01\x02\x03\x02");
				result->SetNull(false);
			}
			else
			{
				result = new VString();
				result->SetNull(true);
			}
			break;
		default:
			result = new VString();
			result->SetNull(true);
			break;
	}
	return result;
}
コード例 #7
0
ファイル: VValueBag.cpp プロジェクト: StephaneH/core-XToolbox
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);
	}
}
コード例 #8
0
void XLinuxIntlMgr::FormatNumber(const VValueSingle& inValue, VString& outNumber) const
{
	double val=inValue.GetReal();	//(from mac code)

	UErrorCode err=U_ZERO_ERROR;
	NumberFormat* numberFmt=NumberFormat::createPercentInstance(fLocale, err);
	xbox_assert(err==U_ZERO_ERROR);

	if(numberFmt!=NULL)
	{
		icu::UnicodeString tmpNumber;
		numberFmt->format(val, tmpNumber);

		outNumber=VString(tmpNumber.getTerminatedBuffer());
	}
}
コード例 #9
0
ファイル: VUUID.cpp プロジェクト: sanyaade-iot/core-XToolbox
void VUUID::FromValue(const VValueSingle& inValue)
{
	inValue.GetVUUID(*this);
}
コード例 #10
0
ファイル: VUUID.cpp プロジェクト: sanyaade-iot/core-XToolbox
void VUUID::GetValue( VValueSingle& outValue) const
{
	outValue.FromVUUID( *this);
}
コード例 #11
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;
}