public TransparentSocksConnection(Socket client, DebugWriter debug, ConnectionTracker connectionTracker, ConfigureProxySocket configureProxySocket)
 {
     this.client = client;
     this.debug = debug;
     this.connectionTracker = connectionTracker;
     this.configureProxySocket = configureProxySocket;
 }
Exemple #2
0
 public LogConnection(TcpClient client, DebugWriter debug, ConnectionTracker connectionTracker, Natter natter)
 {
     this.client = client;
     this.debug = debug;
     this.connectionTracker = connectionTracker;
     this.natter = natter;
     stream = client.GetStream();
 }
        public void Start()
        {
            connectionTracker = (ConnectionTracker)services["connectionTracker"];

            transparentSocksServer.Start();
            Port = ((IPEndPoint) transparentSocksServer.LocalEndpoint).Port;
            debug.Log(0, "TransparentSocksPort = " + Port);
            transparentSocksServer.BeginAcceptSocket(NewTransparentSocksConnection, null);
        }
Exemple #4
0
        public void Start()
        {
            connectionTracker = (ConnectionTracker)services["connectionTracker"];
            natter = (Natter)services["natter"];

            logServer.Start();
            debug.Log(0, "LogPort = " + ((IPEndPoint)logServer.LocalEndpoint).Port);
            logServer.BeginAcceptTcpClient(NewLogConnection, null);
        }
Exemple #5
0
 public RiderUnityCommonIconProvider(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                     SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityApi api, UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker, IconHost iconHost)
     : base(solution, swa, callGraphSwaExtensionProvider, settingsStore, analyzer, api)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
 }
 public RiderUnityImplicitUsageHighlightingContributor(ISolution solution, ITextControlManager textControlManager,
                                                       UnityCodeInsightFieldUsageProvider fieldUsageProvider, UnityCodeInsightProvider codeInsightProvider,
                                                       ISettingsStore settingsStore, ConnectionTracker connectionTracker, IconHost iconHost = null)
     : base(solution, settingsStore, textControlManager)
 {
     myFieldUsageProvider  = fieldUsageProvider;
     myCodeInsightProvider = codeInsightProvider;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
 }
 public RiderUnityCommonIconProvider(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                     SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi api, UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker, IconHost iconHost, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, api, provider)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
     myProvider            = provider;
 }
Exemple #8
0
 public RiderInitialiseOnLoadCctorDetector(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                                           IconHost iconHost)
     : base(solution, swa, callGraphSwaExtensionProvider, settingsStore, analyzer)
 {
     myFieldUsageProvider = fieldUsageProvider;
     mySolutionTracker    = solutionTracker;
     myConnectionTracker  = connectionTracker;
     myIconHost           = iconHost;
 }
Exemple #9
0
        protected override void OnStart(string[] args)
        {
            services["connectionTracker"] = new ConnectionTracker(debug, services);
            services["natter"] = new Natter(debug, services);
            services["logServer"] = new LogServer(debug, services);
            services["transparentSocksServer"] = new TransparentSocksServer(debug, services);

            services["connectionTracker"].Start();
            services["natter"].Start();
            services["logServer"].Start();
            services["transparentSocksServer"].Start();
        }
Exemple #10
0
 public RiderInitialiseOnLoadCctorDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                                           IconHost iconHost, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, provider)
 {
     myFieldUsageProvider = fieldUsageProvider;
     mySolutionTracker    = solutionTracker;
     myConnectionTracker  = connectionTracker;
     myIconHost           = iconHost;
     myProvider           = provider;
 }
Exemple #11
0
 public RiderEventHandlerDetector(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                  SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnitySceneDataLocalCache cache,
                                  UnityCodeInsightProvider codeInsightProvider,
                                  UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                                  IconHost iconHost)
     : base(solution, swa, settingsStore, callGraphSwaExtensionProvider, cache, analyzer)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
 }
Exemple #12
0
        protected override void OnStart(string[] args)
        {
            services["connectionTracker"]      = new ConnectionTracker(debug, services);
            services["natter"]                 = new Natter(debug, services);
            services["logServer"]              = new LogServer(debug, services);
            services["transparentSocksServer"] = new TransparentSocksServer(debug, services);

            services["connectionTracker"].Start();
            services["natter"].Start();
            services["logServer"].Start();
            services["transparentSocksServer"].Start();
        }
 public RiderFieldDetector(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityApi unityApi,
                           UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                           IconHost iconHost, AssetSerializationMode assetSerializationMode)
     : base(solution, swa, callGraphSwaExtensionProvider, settingsStore, analyzer, unityApi)
 {
     myFieldUsageProvider     = fieldUsageProvider;
     mySolutionTracker        = solutionTracker;
     myConnectionTracker      = connectionTracker;
     myIconHost               = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
Exemple #14
0
 public UnityCodeInsightFieldUsageProvider(Lifetime lifetime, UnitySolutionTracker unitySolutionTracker, ConnectionTracker connectionTracker,
                                           UnityApi unityApi, UnityHost host, BulbMenuComponent bulbMenu, IPsiFiles files, UnityHost unityHost, UnitySceneDataLocalCache sceneDataCache,
                                           ITooltipManager tooltipManager, TextControlManager textControlManager)
     : base(unitySolutionTracker, host, bulbMenu)
 {
     myLifetime                 = lifetime;
     myConnectionTracker        = connectionTracker;
     myUnityApi                 = unityApi;
     myFiles                    = files;
     myUnityHost                = unityHost;
     myUnitySceneDataLocalCache = sceneDataCache;
     myTooltipManager           = tooltipManager;
     myTextControlManager       = textControlManager;
 }
Exemple #15
0
 public RiderFieldDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi unityApi,
                           UnityCodeInsightFieldUsageProvider fieldUsageProvider, DeferredCacheController deferredCacheController,
                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                           IconHost iconHost, AssetSerializationMode assetSerializationMode, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, unityApi, provider)
 {
     myFieldUsageProvider      = fieldUsageProvider;
     myDeferredCacheController = deferredCacheController;
     mySolutionTracker         = solutionTracker;
     myConnectionTracker       = connectionTracker;
     myIconHost = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
Exemple #16
0
        public void ConnectionTrackerConstructor()
        {
            tlog.Debug(tag, $"ConnectionTrackerConstructor START");

            using (View view = new View())
            {
                var testingTarget = new ConnectionTracker(view.SwigCPtr.Handle, false);
                Assert.IsNotNull(testingTarget, "Should be not null!");
                Assert.IsInstanceOf <ConnectionTracker>(testingTarget, "Should be an Instance of ConnectionTracker!");

                testingTarget.Dispose();
            }

            tlog.Debug(tag, $"ConnectionTrackerConstructor END (OK)");
        }
Exemple #17
0
        protected void OnStart(string[] args)
        {
            services["connectionTracker"]      = new ConnectionTracker(debug, services);
            services["natter"]                 = new Natter(debug, services);
            services["transparentSocksServer"] = new TransparentSocksServer(debug, services);

            services["connectionTracker"].Start();
            services["natter"].Start();
            services["transparentSocksServer"].Start();

#if USEUDP
            services["transparentUdpServer"] = new TransparentUdpServer(debug, services);
            services["transparentUdpServer"].Start();
#endif
        }
Exemple #18
0
 public RiderTypeDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                          SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi unityApi,
                          AssetIndexingSupport assetIndexingSupport, UnityUsagesCodeVisionProvider usagesCodeVisionProvider, UnityCodeInsightProvider codeInsightProvider, AssetUsagesElementContainer assetUsagesElementContainer,
                          DeferredCacheController deferredCacheController, UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                          IconHost iconHost, AssetSerializationMode assetSerializationMode, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, unityApi, marksProvider, provider)
 {
     myAssetIndexingSupport        = assetIndexingSupport;
     myUsagesCodeVisionProvider    = usagesCodeVisionProvider;
     myCodeInsightProvider         = codeInsightProvider;
     myAssetUsagesElementContainer = assetUsagesElementContainer;
     myDeferredCacheController     = deferredCacheController;
     mySolutionTracker             = solutionTracker;
     myConnectionTracker           = connectionTracker;
     myIconHost = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
Exemple #19
0
        public RiderUnityHighlightingContributor(Lifetime lifetime, ISolution solution, ITextControlManager textControlManager,
                                                 UnityCodeInsightFieldUsageProvider fieldUsageProvider, UnityCodeInsightProvider codeInsightProvider,
                                                 ISettingsStore settingsStore, ConnectionTracker connectionTracker, SolutionAnalysisService swa, IShellLocks locks,
                                                 PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnitySolutionTracker solutionTracker, UnityApi unityApi,
                                                 UnityEventHandlerReferenceCache handlerReferenceCache, IconHost iconHost = null)
            : base(solution, settingsStore, textControlManager, swa, analyzer)
        {
            myFieldUsageProvider    = fieldUsageProvider;
            myCodeInsightProvider   = codeInsightProvider;
            myConnectionTracker     = connectionTracker;
            mySolutionTracker       = solutionTracker;
            myUnityApi              = unityApi;
            myHandlerReferenceCache = handlerReferenceCache;
            myIconHost              = iconHost;
            var invalidateDaemonResultGroupingEvent = locks.GroupingEvents.CreateEvent(lifetime,
                                                                                       "UnityHiglightingContributor::InvalidateDaemonResults", TimeSpan.FromSeconds(5), Rgc.Guarded,
                                                                                       () =>
            {
                solution.GetComponent <IDaemon>().Invalidate();
            });

            myConnectionTracker.State.Change.Advise_HasNew(lifetime, value =>
            {
                var old  = value.HasOld ? value.Old : UnityEditorState.Disconnected;
                var @new = value.New;

                // disconnect -> ??? -> disconnect is rarely case, we do not check it
                // connected -> ??? -> connected is the most important case
                if (old != UnityEditorState.Disconnected && @new != UnityEditorState.Disconnected)
                {
                    invalidateDaemonResultGroupingEvent.CancelIncoming();
                }
                else if (old == UnityEditorState.Disconnected && @new != UnityEditorState.Disconnected ||
                         @new == UnityEditorState.Disconnected && old != UnityEditorState.Disconnected)
                {
                    invalidateDaemonResultGroupingEvent.FireIncoming();
                }
            });
        }
Exemple #20
0
        public void ConnectionTrackerGetConnectionCount()
        {
            tlog.Debug(tag, $"ConnectionTrackerGetConnectionCount START");

            using (View view = new View())
            {
                var testingTarget = new ConnectionTracker(view.SwigCPtr.Handle, false);
                Assert.IsNotNull(testingTarget, "Should be not null!");
                Assert.IsInstanceOf <ConnectionTracker>(testingTarget, "Should be an Instance of ConnectionTracker!");

                try
                {
                    testingTarget.GetConnectionCount();
                }
                catch (Exception e)
                {
                    tlog.Debug(tag, e.Message.ToString());
                    Assert.Fail("Caught Exception: Failed!");
                }
            }

            tlog.Debug(tag, $"ConnectionTrackerGetConnectionCount END (OK)");
        }
 public UnityFindUsagesNavigationAction([NotNull] IDeclaredElement method, [NotNull] UnityEditorFindUsageResultCreator creator, [NotNull] ConnectionTracker tracker)
 {
     myDeclaredElement = method;
     myCreator         = creator;
     myTracker         = tracker;
 }
Exemple #22
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ConnectionTracker obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
        public GeneratedFileNotification(Lifetime lifetime, UnityHost unityHost, UnitySolutionTracker solutionTracker,
                                         ConnectionTracker connectionTracker, UnityEditorProtocol editorProtocol, ISolution solution,
                                         AsmDefNameCache asmDefNameCache, [CanBeNull] TextControlHost textControlHost = null,
                                         [CanBeNull] SolutionLifecycleHost solutionLifecycleHost = null, [CanBeNull] NotificationPanelHost notificationPanelHost = null)
        {
            if (solutionLifecycleHost == null)
            {
                return;
            }

            if (!solutionTracker.IsUnityGeneratedProject.Value)
            {
                return;
            }

            var fullStartupFinishedLifetimeDefinition = new LifetimeDefinition(lifetime);

            solutionLifecycleHost.FullStartupFinished.Advise(fullStartupFinishedLifetimeDefinition.Lifetime, _ =>
            {
                textControlHost.ViewHostTextControls(lifetime, (lt, id, host) =>
                {
                    var projectFile = host.ToProjectFile(solution);
                    if (projectFile == null)
                    {
                        return;
                    }

                    if (projectFile.Location.ExtensionNoDot.Equals("csproj", StringComparison.OrdinalIgnoreCase))
                    {
                        connectionTracker.State.View(lt, (unityStateLifetime, state) =>
                        {
                            var name = projectFile.Location.NameWithoutExtension;

                            IPath path;
                            using (ReadLockCookie.Create())
                            {
                                path = asmDefNameCache.GetPathFor(name)?.TryMakeRelativeTo(solution.SolutionFilePath);
                            }

                            var elements = new LocalList <INotificationPanelHyperlink>();
                            if (path != null && state != UnityEditorState.Disconnected)
                            {
                                var strPath = path.Components.Join("/").RemoveStart("../");
                                elements.Add(new NotificationPanelCallbackHyperlink(unityStateLifetime, "Edit corresponding .asmdef in Unity", false,
                                                                                    () =>
                                {
                                    unityHost.PerformModelAction(t => t.AllowSetForegroundWindow.Start(unityStateLifetime, Unit.Instance).Result.Advise(unityStateLifetime,
                                                                                                                                                        __ =>
                                    {
                                        editorProtocol.UnityModel.Value?.ShowFileInUnity.Fire(strPath);
                                    }));
                                }));
                            }

                            notificationPanelHost.AddNotificationPanel(unityStateLifetime, host, new NotificationPanel("This file is generated by Unity. Any changes made will be lost.", "UnityGeneratedFile", elements.ToArray()));
                        });
                    }
                });

                fullStartupFinishedLifetimeDefinition.Terminate();
            });
        }
        public RunViaUnityEditorStrategy(ISolution solution,
                                         IUnitTestResultManager unitTestResultManager,
                                         UnityEditorProtocol editorProtocol,
                                         NUnitTestProvider unitTestProvider,
                                         IUnitTestElementIdFactory idFactory,
                                         ISolutionSaver riderSolutionSaver,
                                         UnityRefresher unityRefresher,
                                         NotificationsModel notificationsModel,
                                         ConnectionTracker connectionTracker,
                                         UnityHost unityHost,
                                         ILogger logger,
                                         Lifetime lifetime,
                                         PackageValidator packageValidator
                                         )
        {
            mySolution = solution;
            myUnitTestResultManager = unitTestResultManager;
            myEditorProtocol        = editorProtocol;
            myUnitTestProvider      = unitTestProvider;
            myIDFactory             = idFactory;
            myRiderSolutionSaver    = riderSolutionSaver;
            myUnityRefresher        = unityRefresher;
            myNotificationsModel    = notificationsModel;
            myConnectionTracker     = connectionTracker;
            myUnityHost             = unityHost;
            myLogger           = logger;
            myLifetime         = lifetime;
            myPackageValidator = packageValidator;
            myElements         = new WeakToWeakDictionary <UnitTestElementId, IUnitTestElement>();

            myUnityProcessId = new Property <int?>(lifetime, "RunViaUnityEditorStrategy.UnityProcessId");

            myUnityProcessId.ForEachValue_NotNull(lifetime, (lt, processId) =>
            {
                var process = myLogger.CatchIgnore(() => Process.GetProcessById(processId.NotNull()));
                if (process == null)
                {
                    myUnityProcessId.Value = null;
                    return;
                }

                process.EnableRaisingEvents = true;

                void OnProcessExited(object sender, EventArgs a) => myUnityProcessId.Value = null;
                lt.Bracket(() => process.Exited += OnProcessExited, () => process.Exited -= OnProcessExited);

                if (process.HasExited)
                {
                    myUnityProcessId.Value = null;
                }
            });

            myEditorProtocol.UnityModel.ViewNotNull(lifetime, (lt, model) =>
            {
                if (model.UnityProcessId.HasValue())
                {
                    myUnityProcessId.Value = model.UnityProcessId.Value;
                }

                model.UnityProcessId.FlowInto(lt, myUnityProcessId, id => id);
            });
        }
Exemple #25
0
 public MobileFlightDataService(MobileServiceClient mobileService) :
     base()
 {
     _mobileService    = mobileService;
     ConnectionTracker = new ConnectionTracker();
 }
Exemple #26
0
 public MockOnlineDataService(string userName)
     : base(userName)
 {
     ConnectionTracker = new ConnectionTracker();
 }
Exemple #27
0
        public static List <CodeLensEntryExtraActionModel> GetExtraActions(UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker)
        {
            var extraActions = new List <CodeLensEntryExtraActionModel>();

            if (solutionTracker.IsUnityProject.HasTrueValue() && !connectionTracker.IsConnectionEstablished())
            {
                extraActions.Add(new CodeLensEntryExtraActionModel("Unity is not running", null));
                extraActions.Add(new CodeLensEntryExtraActionModel("Start Unity Editor",
                                                                   AbstractUnityCodeInsightProvider.StartUnityActionId));
            }

            return(extraActions);
        }