home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 Mobile / Chip_Mobile_2001.iso / palm / business / printcar / printcar.exe / src / IrDA / IrIasParameters.cc < prev    next >
C/C++ Source or Header  |  2000-06-05  |  1KB  |  58 lines

  1. //
  2. //  $Id: IrIasParameters.cc,v 1.2 2000/06/04 23:23:40 sergey Exp $
  3. //
  4.  
  5. #include <Common.h>
  6. #include <ErrorMgr.h>
  7. #include "IrIasParameters.h"
  8. #include "Util/Assert.h"
  9.  
  10.  
  11. namespace IrDA
  12. {
  13.     //==========================================================================
  14.     // IasParameter class
  15.     //==========================================================================
  16.  
  17.     // operations
  18.  
  19.     void IasParameter::initFrom(const Byte* stream)
  20.     {
  21.         assert(stream != NULL);
  22.  
  23.         _identifier = stream[0];
  24.         _length = stream[1];
  25.         _value = stream+2;
  26.     }
  27.  
  28.  
  29.     //==========================================================================
  30.     // IasParameterList class
  31.     //==========================================================================
  32.  
  33.     IasParameterList::IasParameterList(const Byte* stream, int size):
  34.         _stream(stream), _size(size)
  35.     {
  36.         assert(stream != NULL);
  37.         assert(size > 0);
  38.     }
  39.  
  40.     // operations
  41.  
  42.     bool IasParameterList::getParameter(IasParameter& parameter) const
  43.     {
  44.         if (_stream != NULL)
  45.         {
  46.             for (int pos = 0; pos < _size; pos += parameter.size())
  47.             {
  48.                 parameter.initFrom(_stream+pos);
  49.                 if (parameter.checkType())
  50.                     return true;
  51.             }
  52.         }
  53.  
  54.         return false;
  55.     }
  56. }
  57. // namespace IrDA
  58.