Exemplo n.º 1
0
/**
Get a list of all property names.
*/
void ConfigManager::getAllPropertyNames(
    Array<String>& propertyNames,
    Boolean includeHiddenProperties) const
{
    Array<String> propertyInfo;
    propertyNames.clear();

    for (OwnerTable::Iterator i = _propertyTable->ownerTable.start(); i; i++)
    {
        if (includeHiddenProperties)
        {
            propertyNames.append(i.key());
        }
        else
        {
            //
            // Check if property is to be externally visible or not.
            // If the property should not be externally visible do not list the
            // property information.
            //
            propertyInfo.clear();
            getPropertyInfo(i.key(), propertyInfo);

            if (propertyInfo[5] == STRING_TRUE)
            {
                propertyNames.append(i.key());
            }
        }
    }
}
Exemplo n.º 2
0
void DataBus::AbstractClient::processGetClientPropertyInfoRequestPacket(const Packet &packet)
{
    // Check if registered
    if (m_registered == false)
    {
        // Error, can't send a response if not registered
        return;
    }

    // Check destination
    if (packet.getDestination() != m_clientId)
    {
        // Error, invalid destination
        return;
    }

    // Get Property ID
    quint8 propertyId;

    if (GetClientPropertyInfoRequestPacket::parse(packet,
                                                  &propertyId) == false)
    {
        // Error, failed to parse packet
        return;
    }

    // Get Property Info
    PropertyInfo propertyInfo;

    if (getPropertyInfo(propertyId, &propertyInfo) == false)
    {
        // Error, failed to get Property Info
        return;
    }

    // Create response
    Packet responsePacket;

    if (GetClientPropertyInfoResponsePacket::create(m_clientId,
                                                    packet.getSource(),
                                                    packet.getPacketId(),
                                                    propertyInfo,
                                                    &responsePacket) == false)
    {
        // Error, failed to create packet
        return;
    }

    // Send Response
    if (sendPacket(responsePacket) == false)
    {
        // Error, failed to create packet
        return;
    }

    // Success
    return;
}
Exemplo n.º 3
0
bool
xDistributedPoint3F::updateValue(Point3F value,xTimeType currentTime)
{


	mLastTime = mCurrentTime;
	mCurrentTime = currentTime;
	mLastDeltaTime = mCurrentTime - mLastTime;
	
	mLastValue = mCurrentValue;
    mCurrentValue = value;
	mDifference = mCurrentValue - mLastValue;
	
	mThresoldTicker +=mLastDeltaTime;

	float lengthDiff = fabsf(mDifference.len());
	float timeDiffMs = ((float)mThresoldTicker) / 1000.f;
	

	

	int flags  = getFlags();
	flags =E_DP_OK;
	bool result  = false;

	if (this->getPropertyInfo()->mPredictionType == E_PTYPE_PREDICTED)
	{
		if (lengthDiff > getPredictionSettings()->getMinDifference() )
		{
			if (mThresoldTicker2 > getPredictionSettings()->getMinSendTime())
			{
				
				flags =E_DP_NEEDS_SEND;	
				result   = true ;
				

				//xLogger::xLog(ELOGINFO,XL_START,"mThresoldTicker2: %f",mThresoldTicker2);
			}
		}

		Point3F serverDiff  = mCurrentValue-mLastServerValue ;
		
		if (  fabsf( serverDiff.len()) > getPredictionSettings()->getMinDifference() )
		{
			if (mThresoldTicker2 > (getPredictionSettings()->getMinSendTime() * 0.2f) )
			{
				flags =E_DP_NEEDS_SEND;	
				result   = true ;
				//xLogger::xLog(ELOGINFO,XL_START,"mThresoldTicker2: %f",mThresoldTicker2);
			}
		}


		if (mThresoldTicker2 > getPredictionSettings()->getMinSendTime())
		{
			mThresoldTicker2  = 0 ;
			mThresoldTicker  = 0;
		}
	}

	if (getPropertyInfo()->mPredictionType == E_PTYPE_RELIABLE)
	{
		flags =E_DP_NEEDS_SEND;	
		result   = true ;
		mLastValue = value;
		mCurrentValue = value;
	}

	setFlags(flags);
	return result;
}