#ifndef _microkernel_h #define _microkernel_h class Microkernel { private: InternalServer* server; public: Microkernel(): server(0) { }; InternalServer* getServer() { return server; }; void setServer( InternalServer* server ) { this -> server = server; }; }; class InternalServer { private: Microkernel* kernel; public: InternalServer(): kernel(0) { }; Microkernel* getKernel() { return kernel; }; void setKernel( Microkernel* kernel ) { this -> kernel = kernel; }; }; class ExternalServer { private: Microkernel* kernel; public: ExternalServer(): kernel(0) { }; Microkernel* getKernel() { return kernel; }; void setKernel( Microkernel* kernel ) { this -> kernel = kernel; }; }; class Client { private: Adapter* adapter; public: Client(): adapter(0) { }; Adapter* getAdapter() { return adapter; }; void setAdapter( Adapter* adapter ) { this -> adapter = adapter; }; }; class Adapter { private: ExternalServer* server; Microkernel* kernel; public: Adapter(): server(0), kernel(0) { }; ExternalServer* getServer() { return server; }; void setServer( ExternalServer* server ) { this -> server = server; }; }; #endif