X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2FCmsView.java;h=e18d4b4330d3098a6c8178fa71f1cda29382497b;hb=d88053118372f24ad180c88084f74f4ff683701d;hp=8011dce59a9af024ef40ecb025c30cde7e80be31;hpb=10f1603677f125c014c06cfd3ab956b5589d6e55;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java index 8011dce59..e18d4b433 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java @@ -6,6 +6,7 @@ import java.util.Map; import javax.security.auth.login.LoginContext; +import org.argeo.cms.auth.CmsSession; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; @@ -61,6 +62,25 @@ public interface CmsView { throw new UnsupportedOperationException(); } + default Void runAs(Runnable runnable) { + return doAs(new PrivilegedAction() { + + @Override + public Void run() { + if (runnable != null) + runnable.run(); + return null; + } + }); + } + + default void stateChanged(String state, String title) { + } + + default CmsSession getCmsSession() { + throw new UnsupportedOperationException(); + } + static CmsView getCmsView(Control parent) { // find parent shell Shell topShell = parent.getShell();