source: 2013/30/MiskaK/MW2(My Warfare 2)/Paranneltu Jypeli/Storage/FileManager/Directories.cs @ 4507

Revision 4507, 1.8 KB checked in by anlakane, 6 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6namespace Jypeli
7{
8    public partial class FileManager
9    {
10        private Stack<string> prevDirs = new Stack<string>();
11        protected string _currentDir;
12
13        /// <summary>
14        /// Nykyinen työhakemisto.
15        /// </summary>
16        public string CurrentDirectory
17        {
18            get { return _currentDir; }
19            set { ChDir( value ); }
20        }
21
22        /// <summary>
23        /// Vaihtaa nykyistä hakemistoa.
24        /// </summary>
25        /// <param name="path">Hakemistopolku</param>
26        /// <returns>Vaihdettiinko hakemistoa</returns>
27        public abstract bool ChDir( string path );
28       
29        /// <summary>
30        /// Luo uuden hakemiston.
31        /// </summary>
32        /// <param name="path">Luotavan hakemiston nimi.</param>
33        public abstract void MkDir( string path );
34
35        /// <summary>
36        /// Poistaa hakemiston.
37        /// </summary>
38        /// <param name="path">Poistettavan hakemiston nimi.</param>
39        public abstract void RmDir( string path );
40
41        /// <summary>
42        /// Vaihtaa työhakemistoa jättäen edellisen hakemiston muistiin.
43        /// Kutsu PopDir kun haluat palauttaa työhakemiston edelliseen arvoonsa.
44        /// </summary>
45        /// <param name="dir"></param>
46        public void PushDir( string dir )
47        {
48            prevDirs.Push( _currentDir );
49            ChDir( dir );
50        }
51
52        /// <summary>
53        /// Palauttaa edellisen työhakemiston.
54        /// Jos edellistä työhakemistoa ei ole tallennettu, säilytetään nykyinen.
55        /// </summary>
56        public void PopDir()
57        {
58            if ( prevDirs.Count > 0 )
59                _currentDir = prevDirs.Pop();
60        }
61    }
62}
Note: See TracBrowser for help on using the repository browser.