start adding support for Ezc library - Ezc::Generator is able to get variable value and call a static function
This commit is contained in:
@@ -240,6 +240,52 @@ void Model::get_table_name(std::string & str, bool with_schema_name, ModelData *
|
||||
}
|
||||
|
||||
|
||||
void Model::put_field_value(const wchar_t * flat_field_name, pt::TextStream & stream, bool clear_stream)
|
||||
{
|
||||
put_field_value(flat_field_name, nullptr, stream, clear_stream);
|
||||
}
|
||||
|
||||
|
||||
void Model::put_field_value(const wchar_t * flat_field_name, ModelData * model_data, pt::TextStream & stream, bool clear_stream)
|
||||
{
|
||||
if( clear_stream )
|
||||
{
|
||||
stream.clear();
|
||||
}
|
||||
|
||||
ModelEnv model_env_local;
|
||||
model_env = &model_env_local;
|
||||
|
||||
model_env->has_primary_key_set = has_primary_key_set;
|
||||
model_env->model_work_mode = MORM_MODEL_WORK_MODE_GENERATING_FLAT_STRING;
|
||||
model_env->model_data = model_data;
|
||||
|
||||
if( model_connector )
|
||||
{
|
||||
FlatConnector * flat_connector = model_connector->get_flat_connector();
|
||||
|
||||
if( flat_connector )
|
||||
{
|
||||
try
|
||||
{
|
||||
flat_connector->to_text(flat_field_name, stream, *this);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
model_env = nullptr;
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
model_env = nullptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void Model::to_text(pt::TextStream & stream, ModelData * model_data, bool clear_stream, bool dump_mode)
|
||||
{
|
||||
if( clear_stream )
|
||||
@@ -1471,6 +1517,14 @@ void Model::field_model(const wchar_t * db_field_name, const wchar_t * flat_fiel
|
||||
field_model_clear_values(field_model);
|
||||
}
|
||||
|
||||
if( model_env->model_work_mode == MORM_MODEL_WORK_MODE_GET_FIELD_MODEL )
|
||||
{
|
||||
|
||||
//if( pt::is_equal(db_field_name, model_env->db_field_model) && pt::is_equal(flat_field_name, model_env->flat_field_name) )
|
||||
if( flat_field_name && model_env->flat_field_name && pt::is_equal(flat_field_name, model_env->flat_field_name) )
|
||||
model_env->model = &field_model;
|
||||
}
|
||||
|
||||
field_model.model_env = nullptr;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user