| 151 | |
| 152 | |
| 153 | L3RRMessage* GSM::L3RRFactory(L3RRMessage::MessageType MTI) |
| 154 | { |
| 155 | switch (MTI) { |
| 156 | case L3RRMessage::ChannelRelease: return new L3ChannelRelease(); |
| 157 | case L3RRMessage::AssignmentComplete: return new L3AssignmentComplete(); |
| 158 | case L3RRMessage::AssignmentFailure: return new L3AssignmentFailure(); |
| 159 | case L3RRMessage::RRStatus: return new L3RRStatus(); |
| 160 | case L3RRMessage::PagingResponse: return new L3PagingResponse(); |
| 161 | case L3RRMessage::ChannelModeModifyAcknowledge: return new L3ChannelModeModifyAcknowledge(); |
| 162 | case L3RRMessage::ClassmarkChange: return new L3ClassmarkChange(); |
| 163 | case L3RRMessage::ClassmarkEnquiry: return new L3ClassmarkEnquiry(); |
| 164 | case L3RRMessage::MeasurementReport: return new L3MeasurementReport(); |
| 165 | case L3RRMessage::ApplicationInformation: return new L3ApplicationInformation(); |
| 166 | case L3RRMessage::HandoverComplete: return new L3HandoverComplete(); |
| 167 | case L3RRMessage::HandoverFailure: return new L3HandoverFailure(); |
| 168 | case L3RRMessage::CipheringModeComplete: return new L3CipheringModeComplete(); |
| 169 | case L3RRMessage::HandoverCommand: return new L3HandoverCommand(); |
| 170 | // Partial support just to get along with some phones. |
| 171 | case L3RRMessage::GPRSSuspensionRequest: return new L3GPRSSuspensionRequest(); |
| 172 | default: |
| 173 | LOG(WARNING) << "no L3 RR factory support for " << MTI; |
| 174 | return NULL; |
| 175 | } |
| 176 | } |
| 177 | |
| 178 | L3RRMessage* GSM::parseL3RR(const L3Frame& source) |
| 179 | { |
nothing calls this directly
no outgoing calls
no test coverage detected