Merge pull request #484 from roji/transactions_pspe
[mono.git] / mcs / class / Mono.Posix / Documentation / en / Mono.Unix / UnixGroupInfo.xml
1 <Type Name="UnixGroupInfo" FullName="Mono.Unix.UnixGroupInfo">
2   <TypeSignature Language="C#" Value="public sealed class UnixGroupInfo" />
3   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit UnixGroupInfo extends System.Object" />
4   <AssemblyInfo>
5     <AssemblyName>Mono.Posix</AssemblyName>
6     <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7     <AssemblyVersion>2.0.0.0</AssemblyVersion>
8     <AssemblyVersion>4.0.0.0</AssemblyVersion>
9   </AssemblyInfo>
10   <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
11   <Base>
12     <BaseTypeName>System.Object</BaseTypeName>
13   </Base>
14   <Interfaces />
15   <Docs>
16     <summary>Provides information about a Unix group.</summary>
17     <remarks>
18       <para>
19         The <see cref="T:Mono.Unix.UnixGroupInfo" /> type is a FxDG-compliant
20         wrapper over the <see cref="T:Mono.Unix.Native.Group" /> native type.
21         It represents a single entry from the local group database, typically
22         <c>/etc/group</c>.
23       </para>
24       <para>
25         Unix Groups are part of the file system access rules.  
26       </para>
27       <para>
28         Access to file system objects 
29         (as represented by <see cref="T:Mono.Unix.UnixFileSystemInfo" />)
30         is controlled by the file system access permissions, 
31         <see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />.
32         <see cref="T:Mono.Unix.FileAccessPermissions" /> is a nine-bit field
33         specifying read, write, and execute access for the owner, group, and
34         everyone else (other).
35       </para>
36       <para>
37         Access by the file's owner group is controlled by the bits
38         specified by <c>
39         (<see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />
40         &amp; 
41         <see cref="F:Mono.Unix.FileAccessPermissions.GroupReadWriteExecute" />)</c>.
42         All group members get these access permissions, except for the file's
43         owner (if they belong to the file's owner group).
44       </para>
45     </remarks>
46   </Docs>
47   <Members>
48     <Member MemberName=".ctor">
49       <MemberSignature Language="C#" Value="public UnixGroupInfo (Mono.Unix.Native.Group group);" />
50       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Mono.Unix.Native.Group group) cil managed" />
51       <MemberType>Constructor</MemberType>
52       <AssemblyInfo>
53         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
54         <AssemblyVersion>2.0.0.0</AssemblyVersion>
55         <AssemblyVersion>4.0.0.0</AssemblyVersion>
56       </AssemblyInfo>
57       <Parameters>
58         <Parameter Name="group" Type="Mono.Unix.Native.Group" />
59       </Parameters>
60       <Docs>
61         <param name="group">
62           A <see cref="T:Mono.Unix.Native.Group" /> containing the 
63           group to get information about.
64         </param>
65         <summary>
66           Constructs and initializes a new instance of 
67           <see cref="T:Mono.Unix.UnixGroupInfo" /> by using the specified 
68           <see cref="T:Mono.Unix.Native.Group" /> entry.
69         </summary>
70         <remarks>
71           This constructor wraps <paramref name="group" />,
72           providing framework-compliant naming conventions over the native 
73           <see cref="T:Mono.Unix.Native.Group" /> type.
74         </remarks>
75       </Docs>
76     </Member>
77     <Member MemberName=".ctor">
78       <MemberSignature Language="C#" Value="public UnixGroupInfo (long group);" />
79       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int64 group) cil managed" />
80       <MemberType>Constructor</MemberType>
81       <AssemblyInfo>
82         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
83         <AssemblyVersion>2.0.0.0</AssemblyVersion>
84         <AssemblyVersion>4.0.0.0</AssemblyVersion>
85       </AssemblyInfo>
86       <Parameters>
87         <Parameter Name="group" Type="System.Int64" />
88       </Parameters>
89       <Docs>
90         <param name="group">
91           A <see cref="T:System.Int64" /> containing the group id to get
92           information about.
93         </param>
94         <summary>
95           Constructs and initializes a new instance of 
96           <see cref="T:Mono.Unix.UnixGroupInfo" /> by looking up the specifed
97           group id in the local group database file.
98         </summary>
99         <remarks>
100           This constructor looks up the specified group id in the local
101           group database.
102         </remarks>
103         <exception cref="T:System.ArgumentException">
104           The group id <paramref name="group" /> does not exist in the local
105           group database.
106         </exception>
107         <altmember cref="M:Mono.Unix.Native.Syscall.getgrgid_r" />
108       </Docs>
109     </Member>
110     <Member MemberName=".ctor">
111       <MemberSignature Language="C#" Value="public UnixGroupInfo (string group);" />
112       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string group) cil managed" />
113       <MemberType>Constructor</MemberType>
114       <AssemblyInfo>
115         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
116         <AssemblyVersion>2.0.0.0</AssemblyVersion>
117         <AssemblyVersion>4.0.0.0</AssemblyVersion>
118       </AssemblyInfo>
119       <Parameters>
120         <Parameter Name="group" Type="System.String" />
121       </Parameters>
122       <Docs>
123         <param name="group">
124           A <see cref="T:System.String" /> containing the group to get
125           information about.
126         </param>
127         <summary>
128           Constructs and initializes a new instance of 
129           <see cref="T:Mono.Unix.UnixGroupInfo" /> by looking up the specifed
130           group name in the local group database file.
131         </summary>
132         <remarks>
133           This constructor looks up the specified group name in the local
134           group database.
135         </remarks>
136         <exception cref="T:System.ArgumentException">
137           The group name <paramref name="group" /> does not exist in the 
138           local group database.
139         </exception>
140         <altmember cref="M:Mono.Unix.Native.Syscall.getgrnam_r" />
141       </Docs>
142     </Member>
143     <Member MemberName="Equals">
144       <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
145       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
146       <MemberType>Method</MemberType>
147       <AssemblyInfo>
148         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
149         <AssemblyVersion>2.0.0.0</AssemblyVersion>
150         <AssemblyVersion>4.0.0.0</AssemblyVersion>
151       </AssemblyInfo>
152       <ReturnValue>
153         <ReturnType>System.Boolean</ReturnType>
154       </ReturnValue>
155       <Parameters>
156         <Parameter Name="obj" Type="System.Object" />
157       </Parameters>
158       <Docs>
159         <param name="obj">To be added.</param>
160         <summary>To be added.</summary>
161         <returns>To be added.</returns>
162         <remarks>To be added.</remarks>
163       </Docs>
164     </Member>
165     <Member MemberName="GetHashCode">
166       <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
167       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
168       <MemberType>Method</MemberType>
169       <AssemblyInfo>
170         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
171         <AssemblyVersion>2.0.0.0</AssemblyVersion>
172         <AssemblyVersion>4.0.0.0</AssemblyVersion>
173       </AssemblyInfo>
174       <ReturnValue>
175         <ReturnType>System.Int32</ReturnType>
176       </ReturnValue>
177       <Parameters />
178       <Docs>
179         <summary>To be added.</summary>
180         <returns>To be added.</returns>
181         <remarks>To be added.</remarks>
182       </Docs>
183     </Member>
184     <Member MemberName="GetLocalGroups">
185       <MemberSignature Language="C#" Value="public static Mono.Unix.UnixGroupInfo[] GetLocalGroups ();" />
186       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.UnixGroupInfo[] GetLocalGroups() cil managed" />
187       <MemberType>Method</MemberType>
188       <AssemblyInfo>
189         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
190         <AssemblyVersion>2.0.0.0</AssemblyVersion>
191         <AssemblyVersion>4.0.0.0</AssemblyVersion>
192       </AssemblyInfo>
193       <ReturnValue>
194         <ReturnType>Mono.Unix.UnixGroupInfo[]</ReturnType>
195       </ReturnValue>
196       <Parameters />
197       <Docs>
198         <summary>Gets all groups listed in the local group database.</summary>
199         <returns>
200           A <see cref="T:Mono.Unix.UnixGroupInfo" /> array containing
201           information about all the local groups.
202         </returns>
203         <remarks>
204         </remarks>
205         <exception cref="T:System.IO.IOException">
206           <para>An I/O error occurred.
207           [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
208           </para>
209         </exception>
210         <exception cref="T:Mono.Unix.UnixIOException">
211           <para>Too many file descriptors in use by the process.
212           [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
213           </para>
214           <para>-or-</para>
215           <para>Too many files are currently open in the system.
216           [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
217           </para>
218           <para>-or-</para>
219           <para>Insufficient memory to allocate the group information
220           structure.
221           [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
222           </para>
223         </exception>
224       </Docs>
225     </Member>
226     <Member MemberName="GetMemberNames">
227       <MemberSignature Language="C#" Value="public string[] GetMemberNames ();" />
228       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] GetMemberNames() cil managed" />
229       <MemberType>Method</MemberType>
230       <AssemblyInfo>
231         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
232         <AssemblyVersion>2.0.0.0</AssemblyVersion>
233         <AssemblyVersion>4.0.0.0</AssemblyVersion>
234       </AssemblyInfo>
235       <ReturnValue>
236         <ReturnType>System.String[]</ReturnType>
237       </ReturnValue>
238       <Parameters />
239       <Docs>
240         <summary>
241           Gets the names of all group members.
242         </summary>
243         <returns>
244           A <see cref="T:System.String" /> array containing the names of all
245           group members.
246         </returns>
247         <remarks>
248           <block subset="none" type="note">
249             There is no guarantee that the group member names returned are
250             valid users on the system, i.e. that 
251             <c>GetMemberNames().Select(m =&gt; new UnixUserInfo(m)).ToArray()</c>
252             won't generate an exception.
253           </block>
254         </remarks>
255         <altmember cref="F:Mono.Unix.Native.Group.gr_mem" />
256       </Docs>
257     </Member>
258     <Member MemberName="GetMembers">
259       <MemberSignature Language="C#" Value="public Mono.Unix.UnixUserInfo[] GetMembers ();" />
260       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.UnixUserInfo[] GetMembers() cil managed" />
261       <MemberType>Method</MemberType>
262       <AssemblyInfo>
263         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
264         <AssemblyVersion>2.0.0.0</AssemblyVersion>
265         <AssemblyVersion>4.0.0.0</AssemblyVersion>
266       </AssemblyInfo>
267       <ReturnValue>
268         <ReturnType>Mono.Unix.UnixUserInfo[]</ReturnType>
269       </ReturnValue>
270       <Parameters />
271       <Docs>
272         <summary>Get information about all the group members.</summary>
273         <returns>
274           A <see cref="T:Mono.Unix.UnixUserInfo" /> array containing
275           information about all the group members.
276         </returns>
277         <remarks>
278           This is equivalent to creating a 
279           <see cref="T:Mono.Unix.UnixUserInfo" /> instance over each name
280           returned by <see cref="M:Mono.Unix.UnixGroupInfo.GetMemberNames" />,
281           except that invalid user names will not be returned.
282         </remarks>
283         <altmember cref="F:Mono.Unix.Native.Group.gr_mem" />
284       </Docs>
285     </Member>
286     <Member MemberName="GroupId">
287       <MemberSignature Language="C#" Value="public long GroupId { get; }" />
288       <MemberSignature Language="ILAsm" Value=".property instance int64 GroupId" />
289       <MemberType>Property</MemberType>
290       <AssemblyInfo>
291         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
292         <AssemblyVersion>2.0.0.0</AssemblyVersion>
293         <AssemblyVersion>4.0.0.0</AssemblyVersion>
294       </AssemblyInfo>
295       <ReturnValue>
296         <ReturnType>System.Int64</ReturnType>
297       </ReturnValue>
298       <Docs>
299         <summary>Gets the group id.</summary>
300         <value>
301           A <see cref="T:System.Int64" /> containing the group's id.
302         </value>
303         <remarks>
304         </remarks>
305         <altmember cref="F:Mono.Unix.Native.Group.gr_gid" />
306       </Docs>
307     </Member>
308     <Member MemberName="GroupName">
309       <MemberSignature Language="C#" Value="public string GroupName { get; }" />
310       <MemberSignature Language="ILAsm" Value=".property instance string GroupName" />
311       <MemberType>Property</MemberType>
312       <AssemblyInfo>
313         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
314         <AssemblyVersion>2.0.0.0</AssemblyVersion>
315         <AssemblyVersion>4.0.0.0</AssemblyVersion>
316       </AssemblyInfo>
317       <ReturnValue>
318         <ReturnType>System.String</ReturnType>
319       </ReturnValue>
320       <Docs>
321         <summary>Gets the group name.</summary>
322         <value>
323           A <see cref="T:System.String" /> containing the group name.
324         </value>
325         <remarks>
326         </remarks>
327         <altmember cref="F:Mono.Unix.Native.Group.gr_name" />
328       </Docs>
329     </Member>
330     <Member MemberName="Password">
331       <MemberSignature Language="C#" Value="public string Password { get; }" />
332       <MemberSignature Language="ILAsm" Value=".property instance string Password" />
333       <MemberType>Property</MemberType>
334       <AssemblyInfo>
335         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
336         <AssemblyVersion>2.0.0.0</AssemblyVersion>
337         <AssemblyVersion>4.0.0.0</AssemblyVersion>
338       </AssemblyInfo>
339       <ReturnValue>
340         <ReturnType>System.String</ReturnType>
341       </ReturnValue>
342       <Docs>
343         <summary>Gets the group password.</summary>
344         <value>
345           A <see cref="T:System.String" /> containing the group password.
346         </value>
347         <remarks>
348           The group password isn't actually used for anything...
349         </remarks>
350         <altmember cref="F:Mono.Unix.Native.Group.gr_passwd" />
351       </Docs>
352     </Member>
353     <Member MemberName="ToGroup">
354       <MemberSignature Language="C#" Value="public Mono.Unix.Native.Group ToGroup ();" />
355       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.Native.Group ToGroup() cil managed" />
356       <MemberType>Method</MemberType>
357       <AssemblyInfo>
358         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
359         <AssemblyVersion>2.0.0.0</AssemblyVersion>
360         <AssemblyVersion>4.0.0.0</AssemblyVersion>
361       </AssemblyInfo>
362       <ReturnValue>
363         <ReturnType>Mono.Unix.Native.Group</ReturnType>
364       </ReturnValue>
365       <Parameters />
366       <Docs>
367         <summary>
368           Converts this <see cref="T:Mono.Unix.UnixGroupInfo" /> instance into
369           an equivalent <see cref="T:Mono.Unix.Native.Group" /> instance.
370         </summary>
371         <returns>
372           A <see cref="T:Mono.Unix.Native.Group" /> instance containing the
373           same information as this instance.
374         </returns>
375         <remarks>
376         </remarks>
377       </Docs>
378     </Member>
379     <Member MemberName="ToString">
380       <MemberSignature Language="C#" Value="public override string ToString ();" />
381       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
382       <MemberType>Method</MemberType>
383       <AssemblyInfo>
384         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
385         <AssemblyVersion>2.0.0.0</AssemblyVersion>
386         <AssemblyVersion>4.0.0.0</AssemblyVersion>
387       </AssemblyInfo>
388       <ReturnValue>
389         <ReturnType>System.String</ReturnType>
390       </ReturnValue>
391       <Parameters />
392       <Docs>
393         <summary>To be added.</summary>
394         <returns>To be added.</returns>
395         <remarks>To be added.</remarks>
396       </Docs>
397     </Member>
398   </Members>
399 </Type>