//--------------------------------------------------------------------------- // Code //--------------------------------------------------------------------------- XnDumpWriterFileHandle XnDumpFileWriter::OpenFile(const XnChar* /*strDumpName*/, XnBool bSessionDump, const XnChar* strFileName) { XnStatus nRetVal = XN_STATUS_OK; XnDumpWriterFileHandle result = { NULL }; XN_FILE_HANDLE* phFile = (XN_FILE_HANDLE*)xnOSMalloc(sizeof(XN_FILE_HANDLE)); if (phFile == NULL) { return result; } XnChar strFullPath[XN_FILE_MAX_PATH]; nRetVal = xnLogCreateNewFile(strFileName, bSessionDump, strFullPath, XN_FILE_MAX_PATH, phFile); if (nRetVal != XN_STATUS_OK) { // we don't have much to do if files can't be open. Dump will not be written xnLogWarning(XN_MASK_LOG, "Couldn't create dump file %s! Dump will not be written", strFileName); } else { result.pInternal = phFile; } return result; }
XnStatus xnDumpCreate(XnDump* pDump, const XnChar* csHeader, const XnChar* csFileNameFormat, va_list args) { XnStatus nRetVal = XN_STATUS_OK; XnChar strFileName[XN_FILE_MAX_PATH]; XnUInt32 nChars; nRetVal = xnOSStrFormatV(strFileName, XN_FILE_MAX_PATH, &nChars, csFileNameFormat, args); XN_IS_STATUS_OK(nRetVal); XnChar strFullPath[XN_FILE_MAX_PATH]; nRetVal = xnLogCreateNewFile(strFileName, TRUE, strFullPath, XN_FILE_MAX_PATH, &pDump->hFile); if (nRetVal != XN_STATUS_OK) { // we don't have much to do if files can't be open. Dump will not be written xnLogWarning(XN_MASK_LOG, "Couldn't create dump file %s! Dump will not be written", strFileName); pDump->hFile = XN_INVALID_FILE_HANDLE; return nRetVal; } if (csHeader != NULL) { xnOSWriteFile(pDump->hFile, csHeader, (XnUInt32)strlen(csHeader)); } return XN_STATUS_OK; }
XnStatus XnLogFileWriter::OpenFile() { if (m_fLogFile == XN_INVALID_FILE_HANDLE) { // open file XnStatus nRetVal = xnLogCreateNewFile("log", TRUE, m_strCurrFileName, XN_FILE_MAX_PATH, &m_fLogFile); if (nRetVal != XN_STATUS_OK) { // we don't have much to do if files can't be open. Logs will not be written to file printf("Couldn't create log file! Logs will not be written (error: %s)\n", xnGetStatusString(nRetVal)); m_fLogFile = XN_INVALID_FILE_HANDLE; return nRetVal; } } return XN_STATUS_OK; }
XN_C_API XnStatus xnLogCreateFileEx(const XnChar* strFileName, XnBool bSessionBased, XN_FILE_HANDLE* phFile) { XnChar strFullPath[XN_FILE_MAX_PATH]; return xnLogCreateNewFile(strFileName, bSessionBased, strFullPath, XN_FILE_MAX_PATH, phFile); }
XN_C_API XnStatus xnLogCreateFile(const XnChar* csFileName, XN_FILE_HANDLE* phFile) { XnChar strFullPath[XN_FILE_MAX_PATH]; return xnLogCreateNewFile(csFileName, TRUE, strFullPath, XN_FILE_MAX_PATH, phFile); }