Exemplo n.º 1
0
        // Decode a single layer
        private static string DecodeLayer(int index, string payload, IDecoder decoder)
        {
            switch(index)
            {
                // Decode layer using the appropriate layer logic and selected decoder
                case 0:
                    return LayerFactory.InitializeLayer(LayerEnum.Layer0).Decode(payload, decoder);

                case 1:
                    return LayerFactory.InitializeLayer(LayerEnum.Layer1).Decode(payload, decoder);

                case 2:
                    return LayerFactory.InitializeLayer(LayerEnum.Layer2).Decode(payload, decoder);

                case 3:
                    return LayerFactory.InitializeLayer(LayerEnum.Layer3).Decode(payload, decoder);

                case 4:
                    return LayerFactory.InitializeLayer(LayerEnum.Layer4).Decode(payload, decoder);

                case 5:
                    return LayerFactory.InitializeLayer(LayerEnum.Layer5).Decode(payload, decoder);

                default:
                    throw new ArgumentException("Invalid layer index provided");
            }
        }