cpp_launchpad/compile/fabricate/model_service.h

38 lines
860 B
C++

#ifndef FABRICATE_MODEL_PARSER
#define FABRICATE_MODEL_PARSER
#include "allocate/factory.h"
#include "code/return.h"
#include <string>
class model_service_t {
friend class model_service_factory_t;
public:
enum error_t {
none,
unknown
};
enum model_id_t {
monkey
};
struct configuration_t {
std::string obj_files_m;
};
return_t<error_t, model_t*> get_model_by_id(
model_id_t model_id_p
);
private:
model_service_t(
configuration_t* configuration_p
);
configuration_t* configuration_m;
};
class model_service_factory_t : public factory_t<model_service_t::configuration_t, model_service_t, model_service_t::error_t> {
public:
return_t<model_service_t::error_t, model_service_t*> create(
model_service_t::configuration_t* configuration_p
);
void_t<model_service_t::error_t> dispose(
model_service_t* model_service_p
);
};
#endif