public FsdManager(IEventBroker broker, IAppConfig config) : base(broker)
        {
            mConfig    = config;
            mSystemUID = SystemIdentifier.GetSystemDriveVolumeId();

            mPositionUpdateTimer          = new System.Timers.Timer();
            mPositionUpdateTimer.Elapsed += PositionUpdateTimer_Elapsed;

            if (!Directory.Exists(Path.Combine(mConfig.AppPath, "NetworkLogs")))
            {
                Directory.CreateDirectory(Path.Combine(mConfig.AppPath, "NetworkLogs"));
            }

            var directory = new DirectoryInfo(Path.Combine(mConfig.AppPath, "NetworkLogs"));
            var query     = directory.GetFiles("*", SearchOption.AllDirectories);

            foreach (var file in query.OrderByDescending(file => file.CreationTime).Skip(10))
            {
                file.Delete();
            }

            ClientProperties = new ClientProperties("xPilot", mVersion, Assembly.GetEntryAssembly().Location.CheckSum(), "");
            mRawDataStream   = new StreamWriter(Path.Combine(mConfig.AppPath, $"NetworkLogs/NetworkLog-{DateTime.UtcNow:yyyyMMddHHmmss}.log"), false);

            FSD = new FSDSession(ClientProperties);
            FSD.IgnoreUnknownPackets             = true;
            FSD.NetworkError                    += FSD_NetworkError;
            FSD.ProtocolErrorReceived           += FSD_ProtocolErrorReceived;
            FSD.RawDataReceived                 += FSD_RawDataReceived;
            FSD.RawDataSent                     += FSD_RawDataSent;
            FSD.NetworkConnected                += FSD_NetworkConnected;
            FSD.NetworkDisconnected             += FSD_NetworkDisconnected;
            FSD.ServerIdentificationReceived    += FSD_ServerIdentificationReceived;
            FSD.KillRequestReceived             += FSD_KillRequestReceived;
            FSD.AcarsResponseReceived           += FSD_AcarsResponseReceived;
            FSD.RadioMessageReceived            += FSD_RadioMessageReceived;
            FSD.TextMessageReceived             += FSD_TextMessageReceived;
            FSD.BroadcastMessageReceived        += FSD_BroadcastMessageReceived;
            FSD.PilotPositionReceived           += FSD_PilotPositionReceived;
            FSD.ATCPositionReceived             += FSD_ATCPositionReceived;
            FSD.ClientQueryResponseReceived     += FSD_ClientQueryResponseReceived;
            FSD.ClientQueryReceived             += FSD_ClientQueryReceived;
            FSD.PlaneInfoRequestReceived        += FSD_PlaneInfoRequestReceived;
            FSD.PlaneInfoResponseReceived       += FSD_PlaneInfoResponseReceived;
            FSD.LegacyPlaneInfoResponseReceived += FSD_LegacyPlaneInfoResponseReceived;
            FSD.DeletePilotReceived             += FSD_DeletePilotReceived;
            FSD.DeleteATCReceived               += FSD_DeleteATCReceived;
            FSD.FlightPlanReceived              += FSD_FlightPlanReceived;
            FSD.PingReceived                    += FSD_PingReceived;
        }
 private void Connect(UserClickedLoginMessage msg, VSPCContext context)
 {
     this.context = context;
     fsdSession   = new FSDSession(new ClientProperties("Claus Joergensen Client", new Version(1, 0), 0x5820, "163f6a324730ed0aa1ba30b29148687c"), msg);
     fsdSession.ServerIdentificationReceived += fsdSession_ServerIdentificationReceived;
     fsdSession.ClientQueryReceived          += fsdSession_ClientQueryReceived;
     fsdSession.TextMessageReceived          += fsdSession_TextMessageReceived;
     fsdSession.ATCPositionReceived          += fsdSession_ATCPositionReceived;
     fsdSession.PilotPositionReceived        += fsdSession_PilotPositionReceived;
     fsdSession.NetworkError          += fsdSession_NetworkError;
     fsdSession.ProtocolErrorReceived += fsdSession_ProtocolErrorReceived;
     fsdSession.KillRequestReceived   += fsdSession_KillRequestReceived;
     fsdSession.IgnoreUnknownPackets   = true;
     fsdSession.Connect(msg.Server, 6809);
 }
Exemple #3
0
 private void Connect(UserClickedLoginMessage msg, VSPCContext context)
 {
     this.context = context;
     fsdSession = new FSDSession(new ClientProperties("Claus Joergensen Client", new Version(1, 0), 0x5820, "163f6a324730ed0aa1ba30b29148687c"), msg);
     fsdSession.ServerIdentificationReceived += fsdSession_ServerIdentificationReceived;
     fsdSession.ClientQueryReceived += fsdSession_ClientQueryReceived;
     fsdSession.TextMessageReceived += fsdSession_TextMessageReceived;
     fsdSession.ATCPositionReceived += fsdSession_ATCPositionReceived;
     fsdSession.PilotPositionReceived += fsdSession_PilotPositionReceived;
     fsdSession.NetworkError += fsdSession_NetworkError;
     fsdSession.ProtocolErrorReceived += fsdSession_ProtocolErrorReceived;
     fsdSession.KillRequestReceived += fsdSession_KillRequestReceived;
     fsdSession.IgnoreUnknownPackets = true;
     fsdSession.Connect(msg.Server, 6809);
 }