{
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public void Assert ()
{
new PermissionSet (this).Assert ();
public abstract IPermission Copy ();
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#endif
public void Demand ()
{
// note: here we're sure it's a CAS demand
new PermissionSet (this).CasOnlyDemand (3);
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public void Deny ()
{
new PermissionSet (this).Deny ();
return null;
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public void PermitOnly ()
{
new PermissionSet (this).PermitOnly ();
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public static void RevertAll ()
{
if (!SecurityManager.SecurityEnabled)
throw new NotImplementedException ();
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public static void RevertAssert ()
{
if (!SecurityManager.SecurityEnabled)
throw new NotImplementedException ();
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public static void RevertDeny ()
{
if (!SecurityManager.SecurityEnabled)
throw new NotImplementedException ();
}
+#if MOBILE
+ [Conditional ("FEATURE_MONO_CAS")]
+#else
[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
public static void RevertPermitOnly ()
{
if (!SecurityManager.SecurityEnabled)
msg = String.Format (msg, target.GetType (), expected);
throw new ArgumentException (msg, "target");
}
+
+#if MOBILE
+ // Workaround for CS0629
+ void IStackWalk.Assert ()
+ {
+ }
+
+ void IStackWalk.Deny ()
+ {
+ }
+
+ void IStackWalk.PermitOnly ()
+ {
+ }
+
+ void IStackWalk.Demand ()
+ {
+ }
+
+ void IPermission.Demand ()
+ {
+ }
+#endif
}
}