2008-07-13 Nestor Salceda <nestor.salceda@gmail.com>
[mono.git] / mcs / class / corlib / System.Security.AccessControl / EventWaitHandleSecurity.cs
index ade8432bc075a00703c55071b07f282af51a4980..4232417eb3e4303ca55c3ffba3eec8c6cf3f2154 100644 (file)
@@ -1,10 +1,11 @@
 //
 // System.Security.AccessControl.EventWaitHandleSecurity implementation
 //
-// Author:
+// Authors:
 //     Dick Porter  <dick@ximian.com>
+//     Atsushi Enomoto  <atsushi@ximian.com>
 //
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2007 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
 
 #if NET_2_0
 
-namespace System.Security.AccessControl {
-
-       [MonoTODO ("required for EventWaitHandle - implementation is missing")]
-       public sealed class EventWaitHandleSecurity : NativeObjectSecurity {
+using System.Security.Principal;
 
+namespace System.Security.AccessControl
+{
+       public sealed class EventWaitHandleSecurity : NativeObjectSecurity
+       {
                public EventWaitHandleSecurity ()
                {
+                       throw new NotImplementedException ();
                }
 
-               // TODO
+               public override Type AccessRightType {
+                       get { return typeof (EventWaitHandleRights); }
+               }
+               
+               public override Type AccessRuleType {
+                       get { return typeof (EventWaitHandleAccessRule); }
+               }
+               
+               public override Type AuditRuleType {
+                       get { return typeof (EventWaitHandleAuditRule); }
+               }
+               
+               // AccessRule
+               
+               public override AccessRule AccessRuleFactory (IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
+               {
+                       return new EventWaitHandleAccessRule (identityReference, (EventWaitHandleRights) accessMask, type);
+               }
+               
+               [MonoTODO]
+               public void AddAccessRule (EventWaitHandleAccessRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public bool RemoveAccessRule (EventWaitHandleAccessRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void RemoveAccessRuleAll (EventWaitHandleAccessRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void RemoveAccessRuleSpecific (EventWaitHandleAccessRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void ResetAccessRule (EventWaitHandleAccessRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void SetAccessRule (EventWaitHandleAccessRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               // AuditRule
+               
+               public override AuditRule AuditRuleFactory (IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags)
+               {
+                       return new EventWaitHandleAuditRule (identityReference, (EventWaitHandleRights) accessMask, flags);
+               }
+               
+               [MonoTODO]
+               public void AddAuditRule (EventWaitHandleAuditRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public bool RemoveAuditRule (EventWaitHandleAuditRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void RemoveAuditRuleAll (EventWaitHandleAuditRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void RemoveAuditRuleSpecific (EventWaitHandleAuditRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public void SetAuditRule (EventWaitHandleAuditRule rule)
+               {
+                       throw new NotImplementedException ();
+               }
        }
 }