// Author:
// Duco Fijma (duco@lorentz.xs4all.nl)
//
-
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 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
//
using System.Security;
+using System.Security.Permissions;
using System.Security.Policy;
using System.Security.Principal;
using System.Reflection;
namespace System
{
+#if NET_2_0
+ [ComVisible (true)]
+#endif
[CLSCompliant (false)]
[InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
[Guid ("05F696DC-2B29-3663-AD8B-C4389CF2A713")]
string RelativeSearchPath {get; }
bool ShadowCopyFiles {get; }
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void AppendPrivatePath (string path);
+
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void ClearPrivatePath ();
+
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void ClearShadowCopyPath ();
ObjectHandle CreateInstance (string assemblyName, string typeName);
Assembly[] GetAssemblies ();
object GetData (string name);
int GetHashCode();
+
+ [SecurityPermission (SecurityAction.LinkDemand, Infrastructure = true)]
object GetLifetimeService ();
+
Type GetType ();
+
+ [SecurityPermission (SecurityAction.LinkDemand, Infrastructure = true)]
object InitializeLifetimeService ();
Assembly Load (AssemblyName assemblyRef);
Assembly Load (string assemblyString, Evidence assemblySecurity);
Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, Evidence securityEvidence);
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void SetAppDomainPolicy (PolicyLevel domainPolicy);
+
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void SetCachePath (string s);
+
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void SetData (string name, object data);
+
void SetPrincipalPolicy (PrincipalPolicy policy);
+
+ [SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
void SetShadowCopyPath (string s);
+
void SetThreadPrincipal (IPrincipal principal);
string ToString ();
+#if BOOTSTRAP_WITH_OLDLIB
+ // older MCS/corlib returns:
+ // _AppDomain.cs(138) error CS0592: Attribute 'SecurityPermission' is not valid on this declaration type.
+ // It is valid on 'assembly' 'class' 'constructor' 'method' 'struct' declarations only.
event AssemblyLoadEventHandler AssemblyLoad;
event ResolveEventHandler AssemblyResolve;
event EventHandler DomainUnload;
event ResolveEventHandler ResourceResolve;
event ResolveEventHandler TypeResolve;
event UnhandledExceptionEventHandler UnhandledException;
+#else
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event AssemblyLoadEventHandler AssemblyLoad;
+
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event ResolveEventHandler AssemblyResolve;
+
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event EventHandler DomainUnload;
+
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event EventHandler ProcessExit;
+
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event ResolveEventHandler ResourceResolve;
+
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event ResolveEventHandler TypeResolve;
+
+ [method: SecurityPermission (SecurityAction.LinkDemand, ControlAppDomain = true)]
+ event UnhandledExceptionEventHandler UnhandledException;
+#endif
+
+#if NET_1_1
+ void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
+
+ void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
+
+ void GetTypeInfoCount (out uint pcTInfo);
+
+ void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
+ IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
+#endif
}
}