#ifndef ${name.upper()}_DRIVER_H #define ${name.upper()}_DRIVER_H \#include \#include \#include class I${name}; typedef shared_ptr ${name}; class C${name}Impl; typedef shared_ptr ${name}Impl; class I${name} : public virtual IMMIODev { public: static ${name} create(const char *name); }; class C${name}Impl : public CMMIODevImpl, public virtual I${name} { public: C${name}Impl(Key &key, const char *name); }; #endif