/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * 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. * * The Original Code is Mozilla Communicator. * * The Initial Developer of the Original Code is Netscape Communications * Corp. Portions created by Netscape are Copyright (C) 1999 Netscape * Communications Corp. All Rights Reserved. * * Contributor(s): * Mike Pinkerton */ #include "nsISupports.idl" #include "nsISupportsArray.idl" #include "nsITransferable.idl" #include "nsIClipboardOwner.idl" [scriptable, uuid(8B5314BA-DB01-11d2-96CE-0060B0FB9956)] interface nsIClipboard : nsISupports { /** * Given a transferable, set the data on the native clipboard * * @param aTransferable The transferable * @param anOwner The owner of the transferable * @result NS_Ok if no errors */ void setData ( in nsITransferable aTransferable, in nsIClipboardOwner anOwner) ; /** * Given a transferable, get the clipboard data. * * @param aTransferable The transferable * @result NS_Ok if no errors */ void getData ( in nsITransferable aTransferable ) ; /** * This empties the clipboard and notifies the clipboard owner. * This empties the "logical" clipboard. It does not clear the native clipboard. * * @result NS_OK if successful. */ void emptyClipboard ( ) ; /** * Some platforms support deferred notification for putting data on the clipboard * This method forces the data onto the clipboard in its various formats * This may be used if the application going away. * * @result NS_OK if successful. */ void forceDataToClipboard ( ) ; /** * This provides a way to give correct UI feedback about, for instance, a paste * should be allowed. It does _NOT_ actually retreive the data and should be a very * inexpensive call. All it does is check if there is data on the clipboard matching * any of the flavors in the given list. * * @aFlavorList - nsISupportsString's in a nsISupportsArray (for JavaScript). * @outResult - if data is present matching one of * @result NS_OK if successful. */ boolean hasDataMatchingFlavors ( in nsISupportsArray aFlavorList ) ; }; %{ C++ %}