/*
* @(#)PPCClipboard.java 1.8 06/10/10
*
* Copyright 1990-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version
* 2 only, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License version 2 for more details (a copy is
* included at /legal/license.txt).
*
* You should have received a copy of the GNU General Public License
* version 2 along with this work; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 or visit www.sun.com if you need additional
* information or have any questions.
*/
package sun.awt.pocketpc;
import java.awt.datatransfer.*;
import java.awt.AWTException;
import java.awt.datatransfer.*;
/**
* A class which interfaces with the Windows clipboard in order
* to support data transfer via clipboard operations.
*/
public class PPCClipboard extends Clipboard {
static {
initIDs();
init();
}
private static native void initIDs();
public PPCClipboard() {
super("System");
}
public synchronized void setContents(Transferable contents,
ClipboardOwner owner) {
super.setContents(contents, owner);
if (contents instanceof StringSelection) {
setClipboardText((StringSelection)contents);
}
}
public synchronized Transferable getContents(Object requestor) {
String s = getClipboardText();
return (s == null) ? null : new StringSelection(s);
}
public synchronized void lostSelectionOwnership() {
if (this.owner != null) {
this.owner.lostOwnership(this, this.contents);
this.owner = null;
}
// fix 4177171 : always clear cached contents when losing ownership
this.contents = null;
}
// Register Java String clipboard format.
static private native void init();
// Replace the current clipboard contents with ss.
private native void setClipboardText(StringSelection ss);
// Get the current clipboard contents.
private native String getClipboardText();
}