withSIX.Steam.Plugin.Arma.ServerInfoRulesFetcher.ServerInfoRulesFetcher C# (CSharp) Method

ServerInfoRulesFetcher() public method

public ServerInfoRulesFetcher ( IPEndPoint ep, LockedWrapper s, LockedWrapper a ) : System
ep System.Net.IPEndPoint
s LockedWrapper Takes control over to ease disposal
a LockedWrapper Takes control over to ease disposal
return System
        public ServerInfoRulesFetcher(IPEndPoint ep, LockedWrapper<ServerRulesServiceWrap> s,
            LockedWrapper<MatchmakingServiceWrap> a) : base(a) {
            _ep = ep;
            _srs = s;
            RulesRefreshComplete =
                Observable
                    .FromEvent<EventHandler<ServerRulesRefreshCompletedEventArgs>, ServerRulesRefreshCompletedEventArgs>
                    (handler => {
                            EventHandler<ServerRulesRefreshCompletedEventArgs> evtHandler =
                                (sender, e) => handler(e);
                            return evtHandler;
                        },
                        evtHandler => _srs.DoWithoutLock(srs => srs.RefreshComplete += evtHandler),
                        evtHandler => _srs.DoWithoutLock(srs => srs.RefreshComplete -= evtHandler),
                        _srs.Scheduler);

            RulesFailedToRespond =
                Observable
                    .FromEvent
                    <EventHandler<ServerRulesFailedToRespondEventArgs>, ServerRulesFailedToRespondEventArgs>
                    (handler => {
                            EventHandler<ServerRulesFailedToRespondEventArgs> evtHandler = (sender, e) => handler(e);
                            return evtHandler;
                        },
                        evtHandler => _srs.DoWithoutLock(srs => srs.ServerRulesFailedToRespond += evtHandler),
                        evtHandler => _srs.DoWithoutLock(srs => srs.ServerRulesFailedToRespond -= evtHandler),
                        _srs.Scheduler);
        }