// Copyright © 2014 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
using System;
using System.Threading.Tasks;
namespace CefSharp
{
///
/// Javascript callback interface
///
public interface IJavascriptCallback : IDisposable
{
///
/// Callback Id
///
Int64 Id { get; }
///
/// Execute the javascript callback
///
/// param array of objects
/// JavascriptResponse
Task ExecuteAsync(params object[] parms);
///
/// Execute the javascript callback
///
/// timeout
/// param array of objects
/// JavascriptResponse
Task ExecuteWithTimeoutAsync(TimeSpan? timeout, params object[] parms);
///
/// Check to see if the underlying resource are still available to execute the callback
///
bool CanExecute { get; }
///
/// Gets a value indicating whether the callback has been disposed of.
///
bool IsDisposed { get; }
}
}