コード例 #1
0
ファイル: ControlPresenter.java プロジェクト: dybin/cling
  @Override
  public void onInvoke() {

    ActionInvocation actionInvocation = new ActionInvocation(action, view.getInputValues());

    // Starts background thread
    Workbench.Log.ACTION_INVOCATION.info("Executing action: " + action.getName());
    ActionCallback actionCallback =
        new ControlActionCallback(actionInvocation) {
          @Override
          protected void onSuccess(final ActionArgumentValue[] values) {
            SwingUtilities.invokeLater(
                new Runnable() {
                  public void run() {
                    view.setCancelEnabled(false);
                    view.setOutputValues(values);
                  }
                });
          }

          @Override
          public void failure(
              ActionInvocation invocation, UpnpResponse operation, String defaultMsg) {
            SwingUtilities.invokeLater(
                new Runnable() {
                  public void run() {
                    view.setCancelEnabled(false);
                  }
                });
            super.failure(invocation, operation, defaultMsg);
          }
        };
    actionExecutionFuture = controlPoint.execute(actionCallback);
    view.setCancelEnabled(true);
  }
コード例 #2
0
ファイル: ControlPresenter.java プロジェクト: dybin/cling
 @Override
 public void onCancel() {
   view.setCancelEnabled(false);
   if (actionExecutionFuture != null) {
     Workbench.Log.ACTION_INVOCATION.info("Interrupting action execution: " + action.getName());
     actionExecutionFuture.cancel(true);
   }
 }
コード例 #3
0
ファイル: ControlPresenter.java プロジェクト: dybin/cling
 @Override
 public void init(Action action, ActionArgumentValue[] presetInputValues) {
   this.action = action;
   view.setPresenter(this);
   view.init(action, presetInputValues);
 }