WIP: add a Val struct as an input/output when calling a function
This commit is contained in:
@@ -282,11 +282,13 @@ Model * Model::get_model(const wchar_t * db_field_name, const wchar_t * flat_fie
|
||||
}
|
||||
|
||||
|
||||
Wrapper Model::get_wrapper(const wchar_t * db_field_name, const wchar_t * flat_field_name)
|
||||
#ifdef MORM_HAS_EZC_LIBRARY
|
||||
|
||||
Ezc::Val Model::get_ezc_val(const wchar_t * db_field_name, const wchar_t * flat_field_name)
|
||||
{
|
||||
ModelEnv model_env_local;
|
||||
model_env = &model_env_local;
|
||||
model_env->model_work_mode = MORM_MODEL_WORK_MODE_GET_MODEL_WRAPPER;
|
||||
model_env->model_work_mode = MORM_MODEL_WORK_MODE_GET_EZC_VAL;
|
||||
model_env->db_field_name = db_field_name;
|
||||
model_env->flat_field_name = flat_field_name;
|
||||
model_env->model = this;
|
||||
@@ -302,10 +304,12 @@ Wrapper Model::get_wrapper(const wchar_t * db_field_name, const wchar_t * flat_f
|
||||
}
|
||||
|
||||
model_env = nullptr;
|
||||
return model_env_local.wrapper;
|
||||
return model_env_local.ezc_val;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
bool Model::get_raw_value(const wchar_t * db_field_name, const wchar_t * flat_field_name, pt::Stream & stream, bool clear_stream)
|
||||
{
|
||||
@@ -1659,13 +1663,13 @@ void Model::field_model(const wchar_t * db_field_name, const wchar_t * flat_fiel
|
||||
}
|
||||
}
|
||||
|
||||
if( model_env->model_work_mode == MORM_MODEL_WORK_MODE_GET_MODEL_WRAPPER )
|
||||
if( model_env->model_work_mode == MORM_MODEL_WORK_MODE_GET_EZC_VAL )
|
||||
{
|
||||
if( (is_empty_field(model_env->db_field_name) || is_the_same_field(db_field_name, model_env->db_field_name)) &&
|
||||
(is_empty_field(model_env->flat_field_name) || is_the_same_field(flat_field_name, model_env->flat_field_name)) &&
|
||||
!model_env->wrapper.model )
|
||||
!model_env->ezc_val.pointer )
|
||||
{
|
||||
model_env->wrapper.model = &field_model;
|
||||
model_env->ezc_val.set_pointer_to(&field_model);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user