/*
 * BEGIN FLOCK GPL
 *
 * Copyright Flock Inc. 2005-2009
 * http://flock.com
 *
 * This file may be used under the terms of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * END FLOCK GPL
 */

#include "nsISupports.idl"

[scriptable, uuid(7144b0a4-1f60-44be-9470-5b6875f94d49)]
interface flockIAsyncImageScalerListener : nsISupports
{
  void onFinished(in boolean aResult);
};

[scriptable, uuid(19570cdd-d053-4563-829e-2d0532712942)]
interface flockIAsyncImageScaler : nsISupports
{
  void doAsyncMagick([array, size_is(aCount)] in string aParams,
                     in PRUint32 aCount,
                     in flockIAsyncImageScalerListener aImageScalerListener);
};

%{C++

// 33bbf73e-8d4b-4868-92a9-a86689018ca3
#define FLOCK_ASYNCIMAGESCALER_CID \
{ 0x33bbf73e, 0x8d4b, 0x4868, { 0x92, 0xa9, 0xa8, 0x66, 0x89, 0x01, 0x8c, 0xa3 } }
#define FLOCK_ASYNCIMAGESCALER_CLASSNAME "Flock Asynchronous Image Scaler"
#define FLOCK_ASYNCIMAGESCALER_CONTRACTID "@flock.com/asyncImageScaler;1"

%}
