/*
Copyright (c) 2019 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
*/
/*---------------------- Pro/Toolkit Includes ------------------------*/
#include <ProToolkit.h>
#include <ProMdl.h>
#include <ProObjects.h>
#include <ProSizeConst.h>
#include <ProUtil.h>
#include <PTApplsUnicodeUtils.h>
#include <ProUtil.h>
/*---------------------- Application Includes ------------------------*/
#include <TestError.h>
/*---------------------- Function Prototypes -------------------------*/
ProError UsrModelFilenameGet();
ProError UsrModelFilenameGet(
ProMdl model,
ProCharName filename)
{
ProError status;
ProMdldata data;
ProMdlName modelName;
ProMdlExtension modelExtension;
ProPath modelFullPath = { 0 }, objDirPath = { 0 };
int modelVersion;
char name[PRO_MDLNAME_SIZE];
char type[PRO_MDLEXTENSION_SIZE];
status = ProMdlMdlnameGet(model, modelName);
if (status != PRO_TK_NO_ERROR)
return (status);
status = ProMdlExtensionGet(model, modelExtension);
if (status != PRO_TK_NO_ERROR)
return (status);
status = ProMdlOriginGet(model, modelFullPath);
if (status != PRO_TK_NO_ERROR)
return (status);
status = ProFileMdlnameParse (modelFullPath, objDirPath, NULL, NULL, &modelVersion);
if (status != PRO_TK_NO_ERROR)
return (status);
ProWstringToString(name, modelName);
ProUtilStringLower(name, name);
ProWstringToString(type, modelExtension);
ProUtilStringLower(type, type);
ProTKSprintf(filename, "%s.%s;%d", name,
type, modelVersion);
return(PRO_TK_NO_ERROR);
}