cpp_launchpad/compile/draw/window_service.h

37 lines
864 B
C++

#ifndef DRAW_WINDOW_SERVICE
#define DRAW_WINDOW_SERVICE
#include "allocate/factory.h"
#include "code/return.h"
#include "inform/text_service.h"
#include <string>
class window_service_t {
friend class window_service_factory_t;
public:
enum error_t {
none,
unknown,
x_server_connection_failure
};
struct configuration_t {
};
void_t<error_t> create_window(
std::string* window_title
);
private:
window_service_t(
configuration_t* configuration_p
);
configuration_t* configuration_m;
};
class window_service_factory_t : public factory_t<window_service_t::configuration_t, window_service_t, window_service_t::error_t> {
public:
return_t<window_service_t::error_t, window_service_t*> create(
window_service_t::configuration_t* configuration_p
);
void_t<window_service_t::error_t> dispose(
window_service_t* window_service_p
);
};
#endif