Project.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef __VISION_SYSTEM_PROJECT__H__
  2. #define __VISION_SYSTEM_PROJECT__H__
  3. #include "Param.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. typedef void* VS_PROJECT_HANDLE;
  8. /// \~chinese
  9. /// 打开工程,获取到的对象由调用者释放
  10. /// \param [in] projectName 工程名字
  11. /// \retval 工程对象指针
  12. VISION_SYSTEM_API VS_PROJECT_HANDLE CALLMETHOD VS_openProject(const char* projectName);
  13. /// \~chinese
  14. /// 关闭工程
  15. /// \param [in] handle 工程对象指针
  16. /// \retval 0 关闭成功
  17. /// \retval 非0 关闭失败
  18. VISION_SYSTEM_API int32_t CALLMETHOD VS_closeProject(VS_PROJECT_HANDLE handle);
  19. /// \~chinese
  20. /// 工程初始化操作
  21. /// \param [in] handle 工程对象指针
  22. /// \retval 0 初始化成功
  23. /// \retval 非0 初始化失败
  24. VISION_SYSTEM_API int32_t CALLMETHOD VS_initProject(VS_PROJECT_HANDLE handle);
  25. /// \~chinese
  26. /// 工程反初始化操作
  27. /// \param [in] handle 工程对象指针
  28. /// \retval 0 反初始化成功
  29. /// \retval 非0 反初始化失败
  30. VISION_SYSTEM_API int32_t CALLMETHOD VS_finiProject(VS_PROJECT_HANDLE handle);
  31. /// \~chinese
  32. /// 执行工程,获取到的参数对象由调用者释放
  33. /// \param [in] handle 工程对象指针
  34. /// \param [out] outputParamList 输出参数列表
  35. /// \param [out] pOutputValidParamCnt 有效的输出参数个数
  36. /// \retval 0 执行成功
  37. /// \retval 非0 执行失败
  38. VISION_SYSTEM_API int32_t CALLMETHOD VS_runProject(VS_PROJECT_HANDLE handle, VS_PARAM_HANDLE inputParamList[MAX_PARAM_CNT],
  39. uint32_t nInputParamCnt, VS_PARAM_HANDLE outputParamList[MAX_PARAM_CNT], uint32_t *pOutputValidParamCnt);
  40. /// \~chinese
  41. /// 停止工程
  42. /// \param [in] handle 工程对象指针
  43. /// \retval 0 执行成功
  44. /// \retval 非0 执行失败
  45. VISION_SYSTEM_API int32_t CALLMETHOD VS_stopProject(VS_PROJECT_HANDLE handle);
  46. /// \~chinese
  47. /// 设置工程配置
  48. /// \param [in] handle 工程对象指针
  49. /// \param [in] cmd cmd命令类型
  50. /// \param [in] nodeId 节点id
  51. /// \param [in] inputParamList 输入参数列表
  52. /// \param [in] nInputParamCnt 输入参数个数
  53. /// \param [out] outputParamList 输出参数列表
  54. /// \param [out] pOutputValidParamCnt 输出参数个数
  55. /// \retval 0 执行成功
  56. /// \retval 非0 执行失败
  57. VISION_SYSTEM_API int32_t CALLMETHOD VS_command(VS_PROJECT_HANDLE handle, const char* cmd, int32_t nodeId,
  58. VS_PARAM_HANDLE inputParamList[MAX_PARAM_CNT], uint32_t nInputParamCnt, VS_PARAM_HANDLE outputParamList[MAX_PARAM_CNT],
  59. uint32_t *pOutputValidParamCnt);
  60. /// \~chinese
  61. /// 设置工程配置
  62. /// \param [in] handle 工程对象指针
  63. /// \param [in] name 配置项名称
  64. /// \param [in] param 配置对象句柄
  65. /// \retval 0 执行成功
  66. /// \retval 非0 执行失败
  67. VISION_SYSTEM_API int32_t CALLMETHOD VS_setProjectConfig(VS_PROJECT_HANDLE handle, const char* name, VS_PARAM_HANDLE param);
  68. /// \~chinese
  69. /// 获取工程配置
  70. /// \param [in] handle 工程对象指针
  71. /// \param [in] name 配置项名称
  72. /// \param [in] param 配置对象句柄
  73. /// \retval 0 执行成功
  74. /// \retval 非0 执行失败
  75. VISION_SYSTEM_API int32_t CALLMETHOD VS_getProjectConfig(VS_PROJECT_HANDLE handle, const char* name, VS_PARAM_HANDLE param);
  76. #ifdef __cplusplus
  77. }
  78. #endif
  79. #endif//__VISION_SYSTEM_PROJECT__H__