This is Misc3DMetaDriver.h in view mode; [Download] [Up]
/* MiscSpaceMouseDriver.h * * The MetaDriver is a driver wrapper. It will transparently switch between * drivers taking care that there will be no conflicts. It is not a real driver * and so all standard events will be passed to the realDriver. (Confuising ?!) * * Usage: You should not have to worry about this class. It will be transparent * to the apps and drivers. * * Notes: This class was designed to allow the 3DDeviceServer to switch * between devices while they are in use. * This is the reason why you have to use the realDirver method when * you want to contact the device directly. * I do not really recommend this but in very rare case it might make * sense to have direct access to a driver. * * Our Metadriver tries to track all the driver settings to ensure that * they can be passen to a new driver even when there was no active * driver at the time those setting where done. * * Written by: Thomas Engel * Created: 10.04.1994 (Copyleft) * Last modified: 10.04.1994 */ #import "Misc3DDeviceDriver.h" @interface Misc3DMetaDriver:Misc3DDeviceDriver { id realDriver; } // All the methods are overridden. They simply pass the methods to the // realDriver and return what the real driver would; - setTarget:anObject; - target; // Oneway may not be used in interfaces. But to remind you that I do override // those methods here I will include them like this... // // - (oneway void)enableEvents; // - (oneway void)disableEvents; // - (oneway void)syncEvents; - setUseExternalSync:(BOOL)aFlag; - (BOOL)doesUseExternalSync; - (BOOL)areEventsEnabled; // By default the realDriver is nil. So no big problem. // Driver will be only accepted if the conform to the // Misc3DDeviceDriverProtocol. - setRealDriver:aDriver; - realDriver; @end /* * History: 10.04.94 Invented to allow device switching while device is in * use. * * * Bugs: - Hmm. well not a bug but using the Obj-C forward: facility would be * nice to help forget use about the realDriver method. * I might implement this someday. */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.