#ifndef CODE_PROVIDER #define CODE_PROVIDER #include "allocate/factory.h" #include "code/return.h" #include "inform/text_service.h" #include "draw/window_service.h" class provider_t { friend class provider_factory_t; public: enum error_t { none, unknown }; struct configuration_t { text_service_t* text_service_m; window_service_t* window_service_m; }; configuration_t* configuration_m; private: provider_t( configuration_t* configuration_p ); }; class provider_factory_t : public factory_t { public: return_t create( provider_t::configuration_t* configuration_p ); void_t dispose( provider_t* root_controller_p ); }; #endif