YD_Public_OCC.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #pragma once
  2. #if !defined(AFX_PUBLIC_H__AE70A50E_566E_4131_91C3_62E6A06FC6E5__INCLUDED_2)
  3. #define AFX_PUBLIC_H__AE70A50E_566E_4131_91C3_62E6A06FC6E5__INCLUDED_2
  4. #if defined(_MSC_VER) || defined(WIN64) || defined(__WIN64__) || defined(WIN32) || defined(_WIN32)
  5. #ifdef _OCC_P_COMMONAPI_SDK
  6. #define _OCC_P_COMMONAPI __declspec(dllexport)
  7. #else
  8. #define _OCC_P_COMMONAPI __declspec(dllimport)
  9. #endif
  10. #define IN_WINDOWS
  11. #else //linux
  12. #ifdef _OCC_P_COMMONAPI_SDK
  13. #define _OCC_P_COMMONAPI __attribute__ ((visibility("default")))
  14. #else
  15. #define _OCC_P_COMMONAPI
  16. #endif
  17. #endif
  18. #include <chrono>
  19. #include <vector>
  20. #include <thread>
  21. #include <string>
  22. #include <mutex>
  23. #include <functional>
  24. const unsigned char TIMEUNIT_S = 0;
  25. const unsigned char TIMEUNIT_MS = 1;
  26. #ifdef _WIN32
  27. #define HINSTANCE HMODULE
  28. #else
  29. #define HINSTANCE void*
  30. #endif
  31. extern _OCC_P_COMMONAPI double GetNowTime(unsigned char TimeUnit);
  32. extern _OCC_P_COMMONAPI std::string Str_Format(const char* pszFmt, ...);
  33. extern _OCC_P_COMMONAPI void Str_To_CharBuf_2(std::string Str_Text, char* pBuf, int nLen);
  34. extern _OCC_P_COMMONAPI int StrDate_To_IntDate_2(std::string Str_Date);
  35. extern _OCC_P_COMMONAPI std::string IntData_To_StrDate_2(int nInt_Date);
  36. extern _OCC_P_COMMONAPI std::string Make2IntKey_2(int param1, int param2);
  37. extern _OCC_P_COMMONAPI std::string MakeCStr_IntKey_2(std::string parama, int parab);
  38. extern _OCC_P_COMMONAPI std::string Make2StrKey_2(std::string param1,std::string param2);
  39. extern _OCC_P_COMMONAPI std::string Make3IntKey_2(int param1, int param2, int param3);
  40. extern _OCC_P_COMMONAPI std::string Make2Int1CStrKey_2(int param1, int param2, std::string param3);
  41. extern _OCC_P_COMMONAPI std::string Make_Track_TrainNum_2(int nTrainID, int nDir);
  42. //国铁进路序列
  43. extern _OCC_P_COMMONAPI std::string Make2Int_CStr_IntKey_2(int Param1,int Param2, std::string Param3, int Param4);
  44. extern _OCC_P_COMMONAPI std::string MakeCStr_Int_IntKey_2( std::string Param1,int Param2, int Param3);
  45. extern _OCC_P_COMMONAPI int Get_Number_Date_2();
  46. extern _OCC_P_COMMONAPI int Get_Number_Date_Next_2();
  47. extern _OCC_P_COMMONAPI int GetSys_SecondTime_2();
  48. extern _OCC_P_COMMONAPI int GetDay_Of_Week_2();
  49. extern _OCC_P_COMMONAPI int GetNumTime_Second_2();
  50. extern _OCC_P_COMMONAPI int GetNumTime_MillSec_2();
  51. extern _OCC_P_COMMONAPI std::string GetFolder_AppEXE_2(void);
  52. extern _OCC_P_COMMONAPI std::string GetFolder_Module_2(void);
  53. extern _OCC_P_COMMONAPI std::vector<std::string> str_split_2(std::string str,std::string pattern); //拆分字符串
  54. extern _OCC_P_COMMONAPI std::vector<std::string> str_find_2 (std::string str,std::string start_pattern, std::string end_pattern); //分组解析字符串
  55. extern _OCC_P_COMMONAPI int ReadCfg_Int (const std::string& strFileName, const std::string& strSecName, const std::string& strKey, int nDefaultValue);
  56. extern _OCC_P_COMMONAPI bool ReadCfg_Bool (const std::string& strFileName, const std::string& strSecName, const std::string& strKey, int nDefaultValue);
  57. extern _OCC_P_COMMONAPI double ReadCfg_Double(const std::string& strFileName, const std::string& strSecName, const std::string& strKey, double dDefaultValue);
  58. extern _OCC_P_COMMONAPI std::string ReadCfg_String(const std::string& strFileName, const std::string& strSecName, const std::string& strKey, std::string StrDefaultValue);
  59. extern void _OCC_P_COMMONAPI String_ReplaceAll(std::string& str, const std::string& from, const std::string& to);
  60. extern bool _OCC_P_COMMONAPI CreateESDirectory(std::string str_path);
  61. extern void _OCC_P_COMMONAPI SetByteBitH(unsigned char& ulDes, unsigned char BitNum, unsigned char BitValue);
  62. extern void _OCC_P_COMMONAPI SetByteBitL(unsigned char& ulDes, unsigned char BitNum, unsigned char BitValue);
  63. //获取当前线路方向的反方向
  64. extern int _OCC_P_COMMONAPI GetReverse_Direct(int nDirect);
  65. extern bool _OCC_P_COMMONAPI IsNumeric(const std::string& str);
  66. void _OCC_P_COMMONAPI delete_space(std::string& s);
  67. std::string _OCC_P_COMMONAPI Trim_string(std::string& s);
  68. std::string _OCC_P_COMMONAPI GBK2UTF8 (const char* strGBK);
  69. std::string _OCC_P_COMMONAPI UTF8_2_GBK(const char* strUTF8);
  70. std::string _OCC_P_COMMONAPI StrCode_ByPlatForm(const char* str); //NOTE:字符串编码转换,Windows下转GBK,非Windows转UTF8
  71. void _OCC_P_COMMONAPI OutDebugString(const char* pszFmt, ...);
  72. #define R_Mutex_LOCK(name) std::unique_lock<std::recursive_mutex> _LOCK(name)
  73. #define R_Mutex_LOCK2(name) std::unique_lock<std::recursive_mutex> _LOCK2(name)
  74. #define Thread_Sleep(millisec) std::this_thread::sleep_for(chrono::milliseconds(millisec))
  75. #endif