// // kernel.h // #ifndef _kernel_h #define _kernel_h #include #include #include #include #include #include #include #include #include #include #include #include "pianoleds.h" enum TShutdownMode { ShutdownNone, ShutdownHalt, ShutdownReboot }; class CKernel { public: CKernel (void); ~CKernel (void); boolean Initialize (void); TShutdownMode Run (void); private: // Pick up the MIDI device after the host has enumerated us, and again // after every re-enumeration. void UpdateMIDIDevice (void); private: // do not change this order CActLED m_ActLED; CKernelOptions m_Options; CDeviceNameService m_DeviceNameService; CSerialDevice m_Serial; CExceptionHandler m_ExceptionHandler; CInterruptSystem m_Interrupt; CTimer m_Timer; CLogger m_Logger; CUSBController *m_pUSB; CUSBMIDIDevice *m_pMIDIDevice; CPianoLEDs m_PianoLEDs; }; #endif