38 lines
860 B
C++
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
|