From 5dd8e4dc7fef9d0f3b45725f33727f55cdcef892 Mon Sep 17 00:00:00 2001 From: Thad House Date: Tue, 3 Jan 2017 19:09:11 -0800 Subject: [PATCH] Adds defs for the C windows functions, and shims the 5 missing ones (#38) --- cscore-jni.def | 79 ++++++++++++++++++++++++++++++++++++++++++- cscore.def | 76 +++++++++++++++++++++++++++++++++++++++++ src/UsbCameraImpl.cpp | 31 +++++++++++++++++ 3 files changed, 185 insertions(+), 1 deletion(-) diff --git a/cscore-jni.def b/cscore-jni.def index 5e1f3b6bf7..a9b4371162 100644 --- a/cscore-jni.def +++ b/cscore-jni.def @@ -1,5 +1,82 @@ LIBRARY CSCORE EXPORTS +CS_GetPropertyKind @1 +CS_GetPropertyName @2 +CS_GetProperty @3 +CS_SetProperty @4 +CS_GetPropertyMin @5 +CS_GetPropertyMax @6 +CS_GetPropertyStep @7 +CS_GetPropertyDefault @8 +CS_GetStringProperty @9 +CS_SetStringProperty @10 +CS_GetEnumPropertyChoices @11 +CS_CreateUsbCameraDev @12 +CS_CreateUsbCameraPath @13 +CS_CreateHttpCamera @14 +CS_CreateHttpCameraMulti @15 +CS_CreateCvSource @16 +CS_GetSourceName @17 +CS_GetSourceDescription @18 +CS_GetSourceLastFrameTime @19 +CS_IsSourceConnected @20 +CS_GetSourceProperty @21 +CS_EnumerateSourceProperties @22 +CS_CopySource @23 +CS_ReleaseSource @24 +CS_PutSourceFrameCpp @25 +CS_NotifySourceError @26 +CS_SetSourceConnected @27 +CS_CreateSourceProperty @28 +CS_CreateCvSink @29 +CS_CreateCvSinkCallback @30 +CS_GetSinkName @31 +CS_GetSinkDescription @32 +CS_SetSinkSource @33 +CS_GetSinkSourceProperty @34 +CS_GetSinkSource @35 +CS_CopySink @36 +CS_ReleaseSink @37 +CS_GrabSinkFrameCpp @38 +CS_GetSinkError @39 +CS_SetSinkEnabled @40 +CS_EnumerateUsbCameras @41 +CS_FreeEnumeratedUsbCameras @42 +CS_EnumerateSources @43 +CS_ReleaseEnumeratedSources @44 +CS_EnumerateSinks @45 +CS_ReleaseEnumeratedSinks @46 +CS_FreeString @47 +CS_FreeEnumPropertyChoices @48 +CS_FreeEnumeratedProperties @49 +CS_SetSinkDescription @50 +CS_GetSinkKind @51 +CS_GetSourceKind @52 +CS_GetSourceVideoMode @53 +CS_SetSourceVideoModeDiscrete @54 +CS_SetSourcePixelFormat @55 +CS_SetSourceResolution @56 +CS_SetSourceFPS @57 +CS_EnumerateSourceVideoModes @58 +CS_EnumerateSourceSinks @59 +CS_FreeEnumeratedVideoModes @60 +CS_SetSourceDescription @61 +CS_SetSourceEnumPropertyChoices @62 +CS_CreateMjpegServer @63 +CS_GetMjpegServerListenAddress @64 +CS_GetMjpegServerPort @65 +CS_GetUsbCameraPath @66 +CS_AddListener @67 +CS_RemoveListener @68 +CS_GetHostname @69 +CS_GetNetworkInterfaces @70 +CS_FreeNetworkInterfaces @71 +CS_FreeHttpCameraUrls @72 +CS_GetHttpCameraKind @73 +CS_GetHttpCameraUrls @74 +CS_SetHttpCameraUrls @75 +CS_SetLogger @76 + ; JNI functions JNI_OnLoad JNI_OnUnload @@ -68,4 +145,4 @@ Java_edu_wpi_cscore_CameraServerJNI_enumerateUsbCameras Java_edu_wpi_cscore_CameraServerJNI_enumerateSources Java_edu_wpi_cscore_CameraServerJNI_enumerateSinks Java_edu_wpi_cscore_CameraServerJNI_getHostname -Java_edu_wpi_cscore_CameraServerJNI_getNetworkInterfaces \ No newline at end of file +Java_edu_wpi_cscore_CameraServerJNI_getNetworkInterfaces diff --git a/cscore.def b/cscore.def index a37a40d3d6..c8e0c67bd2 100644 --- a/cscore.def +++ b/cscore.def @@ -1,2 +1,78 @@ LIBRARY CSCORE EXPORTS +CS_GetPropertyKind @1 +CS_GetPropertyName @2 +CS_GetProperty @3 +CS_SetProperty @4 +CS_GetPropertyMin @5 +CS_GetPropertyMax @6 +CS_GetPropertyStep @7 +CS_GetPropertyDefault @8 +CS_GetStringProperty @9 +CS_SetStringProperty @10 +CS_GetEnumPropertyChoices @11 +CS_CreateUsbCameraDev @12 +CS_CreateUsbCameraPath @13 +CS_CreateHttpCamera @14 +CS_CreateHttpCameraMulti @15 +CS_CreateCvSource @16 +CS_GetSourceName @17 +CS_GetSourceDescription @18 +CS_GetSourceLastFrameTime @19 +CS_IsSourceConnected @20 +CS_GetSourceProperty @21 +CS_EnumerateSourceProperties @22 +CS_CopySource @23 +CS_ReleaseSource @24 +CS_PutSourceFrameCpp @25 +CS_NotifySourceError @26 +CS_SetSourceConnected @27 +CS_CreateSourceProperty @28 +CS_CreateCvSink @29 +CS_CreateCvSinkCallback @30 +CS_GetSinkName @31 +CS_GetSinkDescription @32 +CS_SetSinkSource @33 +CS_GetSinkSourceProperty @34 +CS_GetSinkSource @35 +CS_CopySink @36 +CS_ReleaseSink @37 +CS_GrabSinkFrameCpp @38 +CS_GetSinkError @39 +CS_SetSinkEnabled @40 +CS_EnumerateUsbCameras @41 +CS_FreeEnumeratedUsbCameras @42 +CS_EnumerateSources @43 +CS_ReleaseEnumeratedSources @44 +CS_EnumerateSinks @45 +CS_ReleaseEnumeratedSinks @46 +CS_FreeString @47 +CS_FreeEnumPropertyChoices @48 +CS_FreeEnumeratedProperties @49 +CS_SetSinkDescription @50 +CS_GetSinkKind @51 +CS_GetSourceKind @52 +CS_GetSourceVideoMode @53 +CS_SetSourceVideoModeDiscrete @54 +CS_SetSourcePixelFormat @55 +CS_SetSourceResolution @56 +CS_SetSourceFPS @57 +CS_EnumerateSourceVideoModes @58 +CS_EnumerateSourceSinks @59 +CS_FreeEnumeratedVideoModes @60 +CS_SetSourceDescription @61 +CS_SetSourceEnumPropertyChoices @62 +CS_CreateMjpegServer @63 +CS_GetMjpegServerListenAddress @64 +CS_GetMjpegServerPort @65 +CS_GetUsbCameraPath @66 +CS_AddListener @67 +CS_RemoveListener @68 +CS_GetHostname @69 +CS_GetNetworkInterfaces @70 +CS_FreeNetworkInterfaces @71 +CS_FreeHttpCameraUrls @72 +CS_GetHttpCameraKind @73 +CS_GetHttpCameraUrls @74 +CS_SetHttpCameraUrls @75 +CS_SetLogger @76 diff --git a/src/UsbCameraImpl.cpp b/src/UsbCameraImpl.cpp index f2d8e1807e..2bb02c7c78 100644 --- a/src/UsbCameraImpl.cpp +++ b/src/UsbCameraImpl.cpp @@ -1337,4 +1337,35 @@ void CS_FreeEnumeratedUsbCameras(CS_UsbCameraInfo* cameras, int count) { } // extern "C" +#else + +extern "C" { + +CS_Source CS_CreateUsbCameraDev(const char* name, int dev, CS_Status* status) { + *status = CS_INVALID_HANDLE; + return 0; +} + +CS_Source CS_CreateUsbCameraPath(const char* name, const char* path, + CS_Status* status) { + *status = CS_INVALID_HANDLE; + return 0; +} + +char* CS_GetUsbCameraPath(CS_Source source, CS_Status* status) { + *status = CS_INVALID_HANDLE; + return nullptr; +} + +CS_UsbCameraInfo* CS_EnumerateUsbCameras(int* count, CS_Status* status) { + *status = CS_INVALID_HANDLE; + return nullptr; +} + +void CS_FreeEnumeratedUsbCameras(CS_UsbCameraInfo* cameras, int count) { +} + +} // extern "C" + #endif // __linux__ +