| 
									
										
										
										
											2018-02-27 19:13:18 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * rtpendian.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Created on: Feb 27, 2018 | 
					
						
							|  |  |  |  *      Author: f4exb | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef QRTPLIB_RTPENDIAN_H_
 | 
					
						
							|  |  |  | #define QRTPLIB_RTPENDIAN_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QtEndian>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace qrtplib | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RTPEndian | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     RTPEndian() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         uint32_t endianTest32 = 1; | 
					
						
							|  |  |  |         uint8_t *ptr = (uint8_t*) &endianTest32; | 
					
						
							|  |  |  |         m_isLittleEndian = (*ptr == 1); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     template<typename T> | 
					
						
							| 
									
										
										
										
											2018-02-27 23:05:46 +01:00
										 |  |  |     T qToHost(const T& x) const | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2018-02-27 19:13:18 +01:00
										 |  |  |         return m_isLittleEndian ? qToLittleEndian(x) : qToBigEndian(x); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | private: | 
					
						
							|  |  |  |     bool m_isLittleEndian; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* QRTPLIB_RTPENDIAN_H_ */
 |