Skip to content
Snippets Groups Projects
Commit c5a6aca3 authored by Jan Tattermusch's avatar Jan Tattermusch
Browse files

expose C core version string to C#

parent 7a759360
No related branches found
No related tags found
No related merge requests found
...@@ -53,6 +53,9 @@ namespace Grpc.Core ...@@ -53,6 +53,9 @@ namespace Grpc.Core
[DllImport("grpc_csharp_ext.dll")] [DllImport("grpc_csharp_ext.dll")]
static extern void grpcsharp_shutdown(); static extern void grpcsharp_shutdown();
[DllImport("grpc_csharp_ext.dll")]
static extern IntPtr grpcsharp_version_string(); // returns not-owned const char*
static object staticLock = new object(); static object staticLock = new object();
static GrpcEnvironment instance; static GrpcEnvironment instance;
...@@ -163,6 +166,15 @@ namespace Grpc.Core ...@@ -163,6 +166,15 @@ namespace Grpc.Core
} }
} }
/// <summary>
/// Gets version of gRPC C core.
/// </summary>
internal string GetCoreVersionString()
{
var ptr = grpcsharp_version_string(); // the pointer is not owned
return Marshal.PtrToStringAnsi(ptr);
}
/// <summary> /// <summary>
/// Shuts down this environment. /// Shuts down this environment.
/// </summary> /// </summary>
......
...@@ -849,6 +849,11 @@ GPR_EXPORT void GPR_CALLTYPE grpcsharp_redirect_log(grpcsharp_log_func func) { ...@@ -849,6 +849,11 @@ GPR_EXPORT void GPR_CALLTYPE grpcsharp_redirect_log(grpcsharp_log_func func) {
typedef void(GPR_CALLTYPE *test_callback_funcptr)(gpr_int32 success); typedef void(GPR_CALLTYPE *test_callback_funcptr)(gpr_int32 success);
/* Version info */
GPR_EXPORT char *GPR_CALLTYPE grpcsharp_version_string() {
return grpc_version_string();
}
/* For testing */ /* For testing */
GPR_EXPORT void GPR_CALLTYPE GPR_EXPORT void GPR_CALLTYPE
grpcsharp_test_callback(test_callback_funcptr callback) { grpcsharp_test_callback(test_callback_funcptr callback) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment