Ejemplo n.º 1
0
        /// <summary>
        /// Routes server message to corresponding Wave Explorer service (if there is one).
        /// </summary>
        public static void RouteServerMessage(WaveMessage msg)
        {
            if (msg != null)
            {
                WaveServerComponent destination = (WaveServerComponent)msg.ApplicationID;
                Enum msgID = TransportBase.ConvertWaveMessageID(destination, msg.MessageID);

                DebugHelper.Trace("In: {0} -> {1}", destination, msgID);

                switch (destination)
                {
                case WaveServerComponent.NavigationAgent:
                    Navigation.OnMessageReceived(destination, msgID, msg);
                    break;

                case WaveServerComponent.DefinitionsAgent:
                    Definitions.OnMessageReceived(destination, msgID, msg);
                    break;

                case WaveServerComponent.CacheAgent:
                    Cache.OnMessageReceived(destination, msgID, msg);
                    break;

                case WaveServerComponent.UserManager:
                    Authentication.OnMessageReceived(destination, msgID, msg);
                    break;

                case WaveServerComponent.AggregatedMessageAgent:
                    Network.OnMessageReceived(destination, msgID, msg);
                    break;

                case WaveServerComponent.MediaAgent:
                    Downloads.OnMessageReceived(destination, msgID, msg);
                    break;

                default:
                    DebugHelper.Out("Message for unsupported or unknown RTDS component {0} was discarded.", destination);
                    break;
                }
            }
        }