logplus/Workflow/WFCrystal/SysUtility/utils/include/wTurtleAPI.h

176 lines
4.7 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/**
* @file wTurtle.h
* @brief Windows系统API封装类TurtleAPI接口基类Windows系统API
* @date 2014-04-15
* @author Bronco
*/
#ifndef WTURTLEAPI_H_
#define WTURTLEAPI_H_
#include "TurtleAPI.h"
namespace pai {
namespace turtle {
/**
* @class wTurtleAPI
* @brief Windows系统API封装类TurtleAPI接口基类Windows系统API
*
*/
class wTurtleAPI : public TurtleAPI{
public:
/**
* @brief
*/
wTurtleAPI();
/**
* @brief
*/
virtual ~wTurtleAPI();
/**
* @brief
* @param[in] sleepTime
*/
virtual void Sleep(unsigned long long sleepTime);
/**
* @brief
* @param[in] oper
* @param[in] name
* @param[in] param
* @param[in] path
* @param[in] cmd
*/
virtual void SysCall(const std::string& oper, const std::string& name, const std::string& param, const std::string& path, int cmd);
/**
* @brief
* @param[]
* @param[]
* @return
*/
virtual unsigned int CreateThread(LPTHREAD_START_ROUTINE pFunction, void * param);
/**
* @brief
* @param[in] path
*/
virtual bool DeletePath(std::string &path);
/**
* @brief
* @param[in] path
*/
virtual bool CheckPath(std::string& path);
/**
* @brief
* @param path
* @return true,false
*/
virtual bool MkDir(std::string &path);
/**
* @brief path下的文件列表
* @param[in] path
* @param[out] filelist
* @return true,false.
*/
virtual bool ScanDir(const std::string &path,std::vector<std::string> &filelist);
/**
* @brief
* @param[in] file
* @param[out] str
* @return true,false.
*/
virtual bool Readline(FILE *file,std::string &str);
/**
* @brief
* @return ,
*/
virtual unsigned long long GetSystemTime();
/**
* @brief
* @param[out] tv timeval结构提指针
* @param[out] tz windows下暂未实现
* @return 0-1
*/
virtual int GetTimeOfDay(struct timeval *tv, void *tz);
/**
* @brief
* @param[out] time
* @return cpu频率支持纳秒级计数 true,false.
*/
virtual bool GetNSTime(long long &time);
/**
* @brief long long
* @param[in] str
* @return long long型数据
*/
virtual long long StringToLong(const std::string &str);
/* @brief 改变或增加环境变量如果环境变量已经存在原内容会被改为strEnvValue
* @param[in] strEnvName
* @param[in] strEnvValue
* @return 0-1
*/
virtual int SetEnv(std::string &strEnvName,std::string &strEnvValue);
/**
* @brief value的值付给pt
* @param[in] pt pthread_t
* @param[in] value pt的值
*/
virtual void SetValue(pthread_t& pt, int value);
/**
* @brief pt是否大于0
* @param[in] pt pthread_t
* @return 0 true,0 false.
*/
virtual bool IsValid(pthread_t& pt);
/**
*
*/
virtual int GetOpt(int argc, char *argv[], char *opstring);
/**
* @brief
* @return 使0,
*/
virtual void * OpenLibrary(const std::string &strlibrary);
/**
* @brief
* @return std::string NULL时表示操作函数执行成功
*/
virtual long CloseLibrary(void *library);
/**
* @brief
* @return std::string NULL时表示操作函数执行成功
*/
virtual std::string ErrorLibrary();
/**
* @brief ID
* @return ID.
*/
virtual int GetPid();
/**
* @brief
* @return
*/
virtual int isNAN(double x);
/**
* @brief INF
* @return
*/
virtual int isINF(double x);
/**
* @brief ,windows平台返回.dll
* @return
*/
virtual std::string GetLibraryFileExt();
private:
protected:
};
}
}
#endif /* WTURTLEAPI_H_ */