LCOV - code coverage report
Current view: top level - src/messages - mqtt_client_mqtt_message_factory.dart (source / functions) Hit Total Coverage
Test: coverage.lcov Lines: 31 31 100.0 %
Date: 2017-10-09 Functions: 0 0 -

          Line data    Source code
       1             : /*
       2             :  * Package : mqtt_client
       3             :  * Author : S. Hamblett <steve.hamblett@linux.com>
       4             :  * Date   : 15/06/2017
       5             :  * Copyright :  S.Hamblett
       6             :  */
       7             : 
       8             : part of mqtt_client;
       9             : 
      10             : /// Factory for generating instances of MQTT Messages
      11             : class MqttMessageFactory {
      12             :   /// Gets an instance of an MqttMessage based on the message type requested.
      13             :   static MqttMessage getMessage(MqttHeader header,
      14             :       MqttByteBuffer messageStream) {
      15             :     MqttMessage message;
      16           4 :     switch (header.messageType) {
      17           4 :       case MqttMessageType.connect:
      18           4 :         message = new MqttConnectMessage.fromByteBuffer(header, messageStream);
      19             :         break;
      20           4 :       case MqttMessageType.connectAck:
      21             :         message =
      22           4 :         new MqttConnectAckMessage.fromByteBuffer(header, messageStream);
      23             :         break;
      24           4 :       case MqttMessageType.publish:
      25           2 :         message = new MqttPublishMessage.fromByteBuffer(header, messageStream);
      26             :         break;
      27           4 :       case MqttMessageType.publishAck:
      28             :         message =
      29           1 :         new MqttPublishAckMessage.fromByteBuffer(header, messageStream);
      30             :         break;
      31           4 :       case MqttMessageType.publishComplete:
      32             :         message =
      33           1 :         new MqttPublishCompleteMessage.fromByteBuffer(header, messageStream);
      34             :         break;
      35           4 :       case MqttMessageType.publishReceived:
      36             :         message =
      37           1 :         new MqttPublishReceivedMessage.fromByteBuffer(header, messageStream);
      38             :         break;
      39           4 :       case MqttMessageType.publishRelease:
      40             :         message =
      41           1 :         new MqttPublishReleaseMessage.fromByteBuffer(header, messageStream);
      42             :         break;
      43           4 :       case MqttMessageType.subscribe:
      44             :         message =
      45           1 :         new MqttSubscribeMessage.fromByteBuffer(header, messageStream);
      46             :         break;
      47           4 :       case MqttMessageType.subscribeAck:
      48             :         message =
      49           1 :         new MqttSubscribeAckMessage.fromByteBuffer(header, messageStream);
      50             :         break;
      51           4 :       case MqttMessageType.unsubscribe:
      52             :         message =
      53           1 :         new MqttUnsubscribeMessage.fromByteBuffer(header, messageStream);
      54             :         break;
      55           4 :       case MqttMessageType.unsubscribeAck:
      56             :         message =
      57           1 :         new MqttUnsubscribeAckMessage.fromByteBuffer(header, messageStream);
      58             :         break;
      59           4 :       case MqttMessageType.pingRequest:
      60           4 :         message = new MqttPingRequestMessage.fromHeader(header);
      61             :         break;
      62           1 :       case MqttMessageType.pingResponse:
      63           1 :         message = new MqttPingResponseMessage.fromHeader(header);
      64             :         break;
      65           1 :       case MqttMessageType.disconnect:
      66           1 :         message = new MqttDisconnectMessage.fromHeader(header);
      67             :         break;
      68             :       default:
      69           1 :         throw new InvalidHeaderException(
      70             :             "The Message Type specified ($header.messageType) is not a valid "
      71           1 :                 "MQTT Message type or currently not supported.");
      72             :     }
      73             :     return message;
      74             :   }
      75             : }

Generated by: LCOV version 1.10