 /*
 * Copyright (c) 2024 Markus Lehr.
 * 
 *
 * SPDX-License-Identifier: Owend property of Markus Lehr
 * 
 */

#ifndef RTS_INCLUDE_VIBCHANNELDESC_H_
#define RTS_INCLUDE_VIBCHANNELDESC_H_

#include <string>
#include <list>
#include <IChannelDesc.h>




class VibChannelDesc : public IChannelDesc
{
private:

   u_int32_t id;
   std::string name;
   VALUEFORMAT valueFormat;
   u_int32_t vByteSpace;

    
public:

   VibChannelDesc(u_int32_t id, const std::string& name, VALUEFORMAT valueFormat, u_int32_t vByteSpace = 1);

   u_int32_t GetId() override;

   
   const std::string& GetName() override;


   VALUEFORMAT GetValueFormat() override;

   /**
    * return the length of the data that is neeeded for one value of the channel in UINT32 
    * 
    */
   u_int32_t GetValueByteSpace() override;   
   
};


#endif /* RTS_INCLUDE_VIBCHANNELDESC_H_ */