tbf: Store MS class in GprsMs objects

The ms_class value is a property of the MS and thus belongs to the
GprsMs class. Nevertheless the MS object is created after the TLLI
gets known, so the value still has to be stored in the TBF initially.

This commit add the ms_class value to the GprsMs class and introduces
TBF accessor functions which either access that object or, if that is
not available, the value stored locally.

Ticket: #1674
Sponsored-by: On-Waves ehf
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index 5c42c50..8d292f1 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -67,6 +67,8 @@
 
 	uint8_t ta() const;
 	void set_ta(uint8_t ta);
+	uint8_t ms_class() const;
+	void set_ms_class(uint8_t ms_class);
 
 	gprs_llc_queue *llc_queue();
 	const gprs_llc_queue *llc_queue() const;
@@ -108,6 +110,7 @@
 	/* store IMSI for look-up and PCH retransmission */
 	char m_imsi[16];
 	uint8_t m_ta;
+	uint8_t m_ms_class;
 	gprs_llc_queue m_llc_queue;
 
 	bool m_is_idle;
@@ -140,6 +143,11 @@
 	return m_ta;
 }
 
+inline uint8_t GprsMs::ms_class() const
+{
+	return m_ms_class;
+}
+
 inline void GprsMs::set_timeout(unsigned secs)
 {
 	m_delay = secs;