abstractframebufferdriver.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 60 行

JAVA
60
字号
/*
 * $Id: AbstractFrameBufferDriver.java,v 1.2 2003/12/21 07:59:15 epr Exp $
 */
package org.jnode.driver.video;

import javax.naming.NameNotFoundException;

import org.apache.log4j.Logger;
import org.jnode.driver.Device;
import org.jnode.driver.DeviceAlreadyRegisteredException;
import org.jnode.driver.DeviceManager;
import org.jnode.driver.Driver;
import org.jnode.driver.DriverException;
import org.jnode.naming.InitialNaming;

/**
 * @author epr
 */
public abstract class AbstractFrameBufferDriver extends Driver implements FrameBufferAPI {

	/** My logger */
	private final Logger log = Logger.getLogger(getClass());

	/**Device name prefix of framebuffer devices */
	public static final String FB_DEVICE_PREFIX = "fb";

	/**
	 * @see org.jnode.driver.Driver#startDevice()
	 */
	protected void startDevice() throws DriverException {
		final Device device = getDevice();
		try {
			final DeviceManager dm = (DeviceManager)InitialNaming.lookup(DeviceManager.NAME);
			dm.rename(device, getDevicePrefix(), true);
		} catch (DeviceAlreadyRegisteredException ex) {
			log.error("Cannot rename device", ex);
		} catch (NameNotFoundException ex) {
			throw new DriverException("Cannot find DeviceManager", ex);
		}
		device.registerAPI(FrameBufferAPI.class, this);
	}

	/**
	 * @see org.jnode.driver.Driver#stopDevice()
	 */
	protected void stopDevice() throws DriverException {
		final Device dev = getDevice();
		dev.unregisterAPI(FrameBufferAPI.class);
	}

	/**
	 * Gets the prefix for the device name
	 * @see #FB_DEVICE_PREFIX
	 */
	protected String getDevicePrefix() {
		return FB_DEVICE_PREFIX;
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?