added additional implementation
[mono.git] / mcs / class / corlib / System.IO / DirectoryInfo.cs
1 //------------------------------------------------------------------------------\r
2 // \r
3 // System.IO.DirectoryInfo.cs \r
4 //\r
5 // Copyright (C) 2001 Moonlight Enterprises, All Rights Reserved\r
6 // \r
7 // Author:         Jim Richardson, develop@wtfo-guru.com\r
8 // Created:        Monday, August 13, 2001 \r
9 //\r
10 //------------------------------------------------------------------------------\r
11 \r
12 using System;
13 using System.Diagnostics;\r
14 using System.IO.Private;
15 \r
16 namespace System.IO\r
17 {\r
18         /// <summary>\r
19         /// \r
20         /// </summary>\r
21         public sealed class DirectoryInfo : FileSystemInfo\r
22         {\r
23 \r
24                 public DirectoryInfo(string path)\r
25                 {\r
26                         CheckArgument.Path(path, false);\r
27                         //LAMESPEC: Does not throw directory not found exception
28                         //          Does not throw security exception in constructor
29                         OriginalPath = path;    
30                 }\r
31 \r
32                 public override bool Exists\r
33                 {\r
34                         get\r
35                         {
36                                 bool bRetCode;
37                                 
38                                 try
39                                 {
40                                         Refresh();
41                                         bRetCode = ((Attributes & FileAttributes.Directory) != 0);
42                                 }
43                                 catch(ArgumentException ex)                             
44                                 {
45                                         Debug.WriteLine(ex); // eliminates not used warning
46                                         bRetCode = false;
47                                 }
48                                 return bRetCode;\r
49                         }\r
50                 }\r
51 \r
52                 public override string Name\r
53                 {\r
54                         get\r
55                         {       //TODO: Implement this as per the documenation\r
56                                 return FullPath;\r
57                         }\r
58                 }\r
59 \r
60                 public DirectoryInfo Root\r
61                 {\r
62                         get\r
63                         {       //TODO: Implement\r
64                                 return null;\r
65                         }\r
66                 }\r
67 \r
68                 public void Create()\r
69                 {\r
70                         //TODO: Implement\r
71                 }\r
72 \r
73                 DirectoryInfo CreateSubdirectory(string path)\r
74                 {\r
75                         return null;    //TODO: Implement\r
76                 }\r
77 \r
78                 public override void Delete()\r
79                 {\r
80                         Directory.Delete(FullPath);\r
81                 }\r
82 \r
83                 public void Delete(bool bRecurse)\r
84                 {\r
85                         Directory.Delete(FullPath, bRecurse);\r
86                 }\r
87 \r
88                 /// <summary>\r
89                 /// Returns an array of DirectoryInfos for subdirectories\r
90                 /// </summary>\r
91                 public DirectoryInfo[] GetDirectories()\r
92                 {\r
93                         return null;    //TODO: Implement\r
94                 }\r
95                 /// <summary>\r
96                 /// Returns an array of DirectoryInfos\r
97                 /// matching the filter specified by mask\r
98                 /// </summary>\r
99                 public static DirectoryInfo[] GetDirectories(string mask)\r
100                 {\r
101                         return null;    //TODO: Implement\r
102                 }\r
103                 /// <summary>\r
104                 /// Returns an array of FileInfo for subdirectories\r
105                 /// </summary>\r
106                 public FileInfo[] GetFiles()\r
107                 {\r
108                         return null;\r
109                 }\r
110                 /// <summary>\r
111                 /// Returns an array of FileInfo\r
112                 /// matching the filter specified by mask\r
113                 /// </summary>\r
114                 public static FileInfo[] GetFiles(string mask)\r
115                 {\r
116                         return null;    //TODO: Implement\r
117                 }\r
118                 /// <summary>\r
119                 /// Returns an array of FileSystemInfo for subdirectories\r
120                 /// </summary>\r
121                 public FileSystemInfo[] GetFileSystemInfos()\r
122                 {\r
123                         return null;    //TODO: Implement\r
124                 }\r
125                 /// <summary>\r
126                 /// Returns an array of FileSystemInfo\r
127                 /// matching the filter specified by mask\r
128                 /// </summary>\r
129                 public static FileSystemInfo[] GetFileSystemInfos(string mask)\r
130                 {\r
131                         return null;    //TODO: Implement\r
132                 }\r
133 \r
134                 public void MoveTo(string destDirName)\r
135                 {\r
136                         Directory.Move(FullName, destDirName);\r
137                 }\r
138 \r
139                 public override string ToString()\r
140                 {\r
141                         return FullName;\r
142                 }\r
143         }\r
144 }\r