void MetaDataPacket::setItem(int index, uint8_t key, uint16_t val){
  if (index<0 || index>getItemNum()) return;
  
  uint16_t offset = CONST_HDR_LEN+getIDLen()*PURSUIT_ID_LEN + (index*QoS_ITEM_SIZE);
  
  data_.data[offset++] = key;
  data_.setBits((uint64_t)val,16,offset,0);
  
}
Example #2
0
void LongLongNim::LoopArray::print()
{
    printf("Loop: ");
    for(int i=0; i<getItemNum(); i++)
    {
        LongLongNim::RESULT res = get(i);
        printf("(%d, %c), ", res.num, 
                (res.winner== A) ? 'A':'B');
    }
    printf("\n");
}
pair<uint8_t, uint16_t>
MetaDataPacket::getItem(int index){
  pair<uint8_t, uint16_t> item;
  item.first=0;
  
  if (index<0 || index>getItemNum()) return item;
  
  uint16_t offset = CONST_HDR_LEN+getIDLen()*PURSUIT_ID_LEN + (index*QoS_ITEM_SIZE);
  
  item.first = (uint8_t)data_.data[offset++];
  item.second = (uint16_t)data_.getBits(16,offset, 0);
  
  return item;
}
QoSList MetaDataPacket::getIIStatus(){  
  QoSList q;
  
  uint32_t offset = CONST_HDR_LEN+getIDLen()*PURSUIT_ID_LEN;
  int len = getItemNum();
  
  if (len==0) return QoSList();
  
  for (int i=0; i<len; i++){
    q[data_.data[offset]] = data_.getBits(16,offset+1,0);
    offset+=QoS_ITEM_SIZE;
  }

  return q;
}
Example #5
0
void IntPropChioce::inputData()
{
	if ( !mData )
		return;

	int value;
	switch( mDataSize )
	{
	case 1: value = *((int8*)mData);  break;
	case 2: value = *((int16*)mData); break;
	case 4: value = *((int32*)mData);   break;
	}
	for( int i = 0 ; i < getItemNum() ; ++i )
	{
		if ( value == (int)getItemData( i ) )
		{
			setSelection( i );
			break;
		}
	}
}