コード例 #1
0
ファイル: XRegistry.cs プロジェクト: tgckpg/libpenguin
        // I am LHS, Always favor Master
        public void Sync( XRegistry MergeReg, bool IsMaster, Func<XParameter, XParameter, bool> LHSWin )
        {
            XParameter[] LHSs = Parameters();
            XParameter[] RHSs = MergeReg.Parameters();

            IEnumerable<XParameter> All = new List<XParameter>( LHSs ).Concat( RHSs );

            foreach ( XParameter US in All )
            {
                XParameter LHS = LHSs.Contains( US ) ? US : Parameter( US.Id );
                XParameter RHS = RHSs.Contains( US ) ? US : MergeReg.Parameter( US.Id );

                if ( LHS == null && !IsMaster )
                {
                    SetParameter( RHS );
                }
                else if ( RHS == null && !IsMaster )
                {
                    RemoveParameter( LHS.Id );
                }
                else if ( !( LHS == null || RHS == null ) )
                {
                    if ( !LHSWin( LHS, RHS ) ) SetParameter( RHS );
                }
            }
        }
コード例 #2
0
ファイル: ServerSelector.xaml.cs プロジェクト: tgckpg/wenku10
        private void SetTemplate()
        {
            ServerReg = new XRegistry( "<Server />", FileLinks.ROOT_SETTING + "Server.xml" );
            ToggleSettings( EnableSS.IsOn = Properties.ENABLE_SERVER_SEL );
            MaxPing.Value = Properties.SERVER_MAX_PING;

            RefreshServers();
        }
コード例 #3
0
ファイル: SHMember.cs プロジェクト: tgckpg/wenku10
        public SHMember()
        {
            WillLogin = false;

            AuthReg = new XRegistry( "<SHAuth />", FileLinks.ROOT_SETTING + FileLinks.SH_AUTH_REG );

            XParameter MemberAuth = AuthReg.Parameter( "member-auth" );
            if ( MemberAuth != null ) RestoreAuth( MemberAuth );
        }
コード例 #4
0
ファイル: ChannelRenewal.cs プロジェクト: tgckpg/term-notify
        public ChannelRenewal()
        {
            // Bootstrap
            XRegistry.AStorage = new AppStorage();
            SProvider = new ServiceProvider();

            TaskLog = new XRegistry( "<tasklog />", "tasklog.xml" );
            SavedChannels = new XRegistry( "<channels />", "channels.xml" );
        }
コード例 #5
0
ファイル: BookInfoView.cs プロジェクト: tgckpg/wenku10
 public BookInfoView()
 {
     LayoutSettings = new XRegistry( AppKeys.TS_CXML, TFileName );
     SectionBgs = new Dictionary<string, BgContext>();
     InitParams();
 }
コード例 #6
0
ファイル: BookInfoView.cs プロジェクト: tgckpg/wenku10
 public void Reload()
 {
     LayoutSettings = new XRegistry( "<NaN />", LayoutSettings.Location );
     ApplyBackgrounds();
 }
コード例 #7
0
ファイル: BookInfoView.cs プロジェクト: tgckpg/wenku10
 public BgContext( XRegistry LayoutSettings, string Section )
 {
     this.LayoutSettings = LayoutSettings;
     this.Section = Section;
 }
コード例 #8
0
ファイル: ProcParameter.cs プロジェクト: tgckpg/libtaotu
 public static void DestroyParams( XRegistry Settings )
 {
     Settings.RemoveParameter( "PPValues" );
 }
コード例 #9
0
ファイル: ProcParameter.cs プロジェクト: tgckpg/libtaotu
        public static ProcConvoy RestoreParams( XRegistry Settings, object Payload = null )
        {
            XParameter PPParams = Settings.Parameter( "PPValues" );
            if ( PPParams == null ) return new ProcConvoy( new ProcPassThru(), Payload );

            ProcParameter Proc = new ProcParameter();
            Proc.SetParamDefs( Settings.Parameter( "PPValues" ) );

            return new ProcConvoy( Proc, Payload );
        }
コード例 #10
0
ファイル: ServerSelector.xaml.cs プロジェクト: tgckpg/wenku10
        private void ResetServer( object sender, RoutedEventArgs e )
        {
            ServerReg = new XRegistry( "<Server />", FileLinks.ROOT_SETTING + "Server.xml", false );
            ServerReg.Save();

            RefreshServers();
        }
コード例 #11
0
ファイル: ServiceProvider.cs プロジェクト: tgckpg/term-notify
 public ServiceProvider()
 {
     Settings = new XRegistry( "<services />", "services.xml" );
 }
コード例 #12
0
ファイル: ZoneSpider.cs プロジェクト: tgckpg/wenku10
        public bool Open( XRegistry ZDef )
        {
            IsLoading = true;

            try
            {
                XParameter Param = ZDef.Parameter( "Procedures" );
                PM = new ProcManager( Param );
                NotifyChanged( "ProcList" );

                SetBanner();

                return true;
            }
            catch( InvalidFIleException )
            {
                ProcManager.PanelMessage( ID, () => Res.RSTR( "InvalidXML" ), LogType.ERROR );
            }
            catch( Exception ex )
            {
                Logger.Log( ID, ex.Message, LogType.ERROR );
            }
            finally
            {
                IsLoading = false;
            }

            return false;
        }
コード例 #13
0
        private async void SaveAs( object sender, RoutedEventArgs e )
        {
            IStorageFile ISF = await AppStorage.SaveFileAsync( "XML", new List<string>() { ".xml" } );
            if ( ISF == null ) return;

            try
            {
                XRegistry XReg = new XRegistry( "<ProcSpider />", null );
                XReg.SetParameter( RootManager.ToXParam() );
                await ISF.WriteString( XReg.ToString() );
                ProcManager.PanelMessage( ID, Res.RSTR( "Saved", ISF.Name ), LogType.INFO );
            }
            catch( Exception ex )
            {
                ProcManager.PanelMessage( ID, ex.Message, LogType.ERROR );
                ProcManager.PanelMessage( ID, () => Res.RSTR( "SaveFailed" ), LogType.ERROR );
            }
        }
コード例 #14
0
 private void ExportProcedures( object sender, RoutedEventArgs e )
 {
     XRegistry XReg = new XRegistry( "<ProcSpider />", TargetFile );
     XReg.SetParameter( RootManager.ToXParam() );
     XReg.Save();
     ProcManager.PanelMessage( ID, () => Res.RSTR( "Saved" ), LogType.INFO );
 }
コード例 #15
0
 private void ReadXReg( XRegistry XReg )
 {
     XParameter Param = XReg.Parameters().FirstOrDefault();
     if ( Param != null ) PM.ReadParam( Param );
 }
コード例 #16
0
 public NotificationService()
 {
     SavedChannels = new XRegistry( "<channels />", "channels.xml" );
     CreateChannelRenewalTrigger();
 }
コード例 #17
0
ファイル: NavList.cs プロジェクト: tgckpg/wenku10
        public NavList()
        {
			LayoutSettings = new XRegistry( AppKeys.TS_CXML, TFileName );
            InitParams();
        }
コード例 #18
0
ファイル: ContentReader.cs プロジェクト: tgckpg/wenku10
        public ContentReader()
        {
			LayoutSettings = new XRegistry( AppKeys.TS_CXML, TFileName );
            InitParams();
        }
コード例 #19
0
ファイル: ProcParameter.cs プロジェクト: tgckpg/libtaotu
        public static void StoreParams( ProcConvoy Convoy, XRegistry Settings )
        {
            ProcParameter Defs = ( ProcParameter ) ProcManager.TracePackage( Convoy, ( P, C ) => P is ProcParameter )?.Dispatcher;
            if ( Defs == null ) return;

            XParameter PDefs = new XParameter( "PPValues" );
            Defs.AssignParamDefs( PDefs );

            Settings.SetParameter( PDefs );
        }
コード例 #20
0
ファイル: ZoneList.cs プロジェクト: tgckpg/wenku10
        private ZoneSpider ReadZone( string ZData, bool Init = false )
        {
            ZoneSpider ZS = new ZoneSpider();
            XRegistry ZDef = new XRegistry( ZData, null, false );

            if ( ZS.Open( ZDef ) )
            {
                // Remove the old Zone
                if ( Init )
                {
                    AddZone( ZS );
                }
                else
                {
                    RemoveZone( Zones.FirstOrDefault( x => x.ZoneId == ZS.ZoneId ) );
                    AddZone( ZS );
                    var j = Task.Run( () => { Shared.Storage.WriteString( ZS.MetaLocation, ZData ); } );
                }

                return ZS;
            }

            return null;
        }