/*
Copyright (c) 2019 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
*/
#include <ProToolkit.h>
#include <ProMfg.h>
#include <ProTool.h>
#include <ProUtil.h>
#include <ProMfgOptions.h>
#include <TestError.h>
#include <UgMfg.h>
/*====================================================================*\
Function : UserToolFileRead
Purpose : Creates or redefines a tool from file
\*====================================================================*/
ProError UserToolFileRead (
/*--------------------------------------------------------------------*/
ProMfg mfg_model,
wchar_t *tool_id,
ProPath file_name,
ProBool allow_redefine,
ProTool *p_tool
)
/*--------------------------------------------------------------------*/
{
ProError status = PRO_TK_NO_ERROR;
status = ProToolInit( tool_id, mfg_model, p_tool );
if ( status == PRO_TK_NO_ERROR )
status = ProToolVerify( p_tool );
if ( status == PRO_TK_E_NOT_FOUND )
status = PRO_TK_NO_ERROR;
else if ( status == PRO_TK_NO_ERROR && !allow_redefine )
status = PRO_TK_E_FOUND; /* tool exists and should not be changed */
if ( status == PRO_TK_NO_ERROR )
status = ProToolFileRead( p_tool, file_name );
if ( status == PRO_TK_NO_ERROR )
status = ProToolVerify( p_tool );
return ( status );
}
/*====================================================================*\
Function : UserToolFileWrite
Purpose : Writes information about a tool into a file
\*====================================================================*/
ProError UserToolFileWrite (
/*--------------------------------------------------------------------*/
ProMfg mfg_model,
wchar_t *tool_id,
ProPath file_name
)
/*--------------------------------------------------------------------*/
{
ProError status = PRO_TK_NO_ERROR;
ProTool tool;
status = ProToolInit( tool_id, mfg_model, &tool );
if ( status == PRO_TK_NO_ERROR )
status = ProToolFileWrite( &tool, file_name );
return ( status );
}