pdch: Move the giant switch/case of gprs_rlcmac_rcv_control_block

Move the dispatch into the PDCH. This needs to be split up
further into understandable blocks.
diff --git a/src/decoding.cpp b/src/decoding.cpp
index 596b66e..e7ec99a 100644
--- a/src/decoding.cpp
+++ b/src/decoding.cpp
@@ -68,3 +68,18 @@
 	return 0;
 }
 
+uint8_t Decoding::get_ms_class_by_capability(MS_Radio_Access_capability_t *cap)
+{
+	int i;
+
+	for (i = 0; i < cap->Count_MS_RA_capability_value; i++) {
+		if (!cap->MS_RA_capability_value[i].u.Content.Exist_Multislot_capability)
+			continue;
+		if (!cap->MS_RA_capability_value[i].u.Content.Multislot_capability.Exist_GPRS_multislot_class)
+			continue;
+		return cap->MS_RA_capability_value[i].u.Content.Multislot_capability.GPRS_multislot_class;
+	}
+
+	return 0;
+}
+