Part* workPart = Session::GetSession()->Parts()->Work();
int attrCount = 0;
UF_PART_history_list_p_t history_list=NULL;
if (!history_list)
{
UF_CALL(UF_PART_create_history_list(&history_list));
}
UF_CALL(UF_PART_ask_part_history(workPart->Tag(), history_list));
int num_hists = 0;
UF_CALL(UF_PART_ask_num_histories(history_list, &num_hists));
char* program, * user, * machine;
int vers_num=0, vers_time=0;
time_t displayed_time;
struct tm* time_ptr;
char time_buff[133]="";
char time_format[] = "%Y/%m/%d %H:%M";
ostringstream oss;
for (int i = 0; i < num_hists; i++) {
UF_CALL(UF_PART_ask_nth_history(history_list, i, &program, &user, &machine, &vers_num, &vers_time));
displayed_time = (time_t)vers_time;
time_ptr = localtime(&displayed_time);
strftime(time_buff, sizeof(time_buff), time_format, time_ptr);
oss<< "program:"<< program<<" , user:"<< user<<" , machine:"<< machine<< " , time:"<< time_buff<<"\n";
TTool::errorMsg("info", oss.str());
}
if (history_list) UF_PART_delete_history_list(history_list);