Skip to content
Snippets Groups Projects
Select Git revision
  • 9d4ad05d5764b39e67a03f4d0ed773e6efe274e7
  • master default
  • rocky-linux-9
  • development
  • v1.0.4
  • v1.0.3
  • v1.0.2
7 results

MySQLJWKSDAO.php

Blame
  • PacketDataField.cpp 2.75 KiB
    /***************************************************************************
                              PacketDataField.cpp  -  description
                                 -------------------
        begin                : Thu Nov 29 2001
        copyright            : (C) 2001, 2013 by Andrea Bulgarelli
        email                : bulgarelli@iasfbo.inaf.it
     ***************************************************************************/
    
    /***************************************************************************
     *                                                                         *
     *   This program is free software for non commercial purpose              *
     *   and for public research institutes; you can redistribute it and/or    *
     *   modify it under the terms of the GNU General Public License.          *
     *   For commercial purpose see appropriate license terms                  *
     *                                                                         *
     ***************************************************************************/
     
    #include "PacketDataField.h"
    
    using namespace PacketLib;
    
    
    PacketDataField::PacketDataField() : PartOfPacket("Packet Data Field")
    {
        dataFieldHeader = (DataFieldHeader*) new DataFieldHeader();
        tail = new PartOfPacket();
        sourceDataField = 0;
    };
    
    
    PacketDataField::~PacketDataField()
    {
        delete dataFieldHeader;
        delete sourceDataField;
        delete tail;
    }
    
    
    
    dword PacketDataField::getDimension()
    {
        if(sourceDataField != 0)
            return dataFieldHeader->getDimension() + sourceDataField->getDimension() + tail->getDimension();
        else
            return dataFieldHeader->getDimension() + tail->getDimension();
    }
    
    
    
    dword PacketDataField::getMaxDimension()
    {
        if(sourceDataField != 0)
            return dataFieldHeader->getDimension() + sourceDataField->getMaxDimension() + tail->getDimension();
        else
            return dataFieldHeader->getDimension() + tail->getDimension();
    }
    
    
    
    
    
    
    
    bool PacketDataField::setOutputStream(ByteStreamPtr os, word first)
    {
        outputstream = ByteStreamPtr(new ByteStream((os->stream + first), getDimension(), os->isBigendian()));
        dataFieldHeader->setOutputStream(os, first);
        word sdfstart = first + dataFieldHeader->getDimension();
        sourceDataField->setOutputStream(os, sdfstart);
        word tailstart = sdfstart;
        if(sourceDataField != 0)
            tailstart += sourceDataField->getDimension();
        if(tail->getDimension() != 0)
            tail->setOutputStream(os, tailstart);
        return true;
    }
    
    
    
    ByteStreamPtr PacketDataField::generateStream(bool bigendian)
    {
        dataFieldHeader->generateStream(bigendian);
        sourceDataField->generateStream(bigendian);
        tail->generateStream(bigendian);
        return outputstream;
    }