C# std::wstring director support

Updates for #1706
This commit is contained in:
William S Fulton 2022-05-04 09:28:21 +01:00
commit 751d443046
3 changed files with 29 additions and 11 deletions

View file

@ -17,10 +17,19 @@ public class runme
if (b.get_first() != "hello world!")
throw new ApplicationException("Incorrect get_first:" + b.get_first());
/*
b.call_process_func();
if (b.smem != "hello")
throw new ApplicationException("Incorrect smem:" + b.smem);
*/
b.call_process_wstring_func();
if (b.smem != "hello (wstring)")
throw new ApplicationException("Incorrect smem:" + b.smem);
b.call_process_wstring_ref_func();
if (b.smem != "hello (wstring ref)")
throw new ApplicationException("Incorrect smem:" + b.smem);
}
}
@ -38,4 +47,12 @@ class director_wstring_B : A
{
this.smem = s;
}
}
public override void process_wstring_text(String s)
{
this.smem = s + " (wstring)";
}
public override void process_wstring_ref_text(String s)
{
this.smem = s + " (wstring ref)";
}
}

View file

@ -41,13 +41,12 @@ struct A
#if !defined(SWIGCSHARP)
virtual void process_text(const wchar_t *text)
{
}
virtual void process_text(const wchar_t *text) {}
#else
virtual void process_text(const std::wstring& text)
{
}
// temp until wchar_t* fixed
virtual void process_text(std::wstring text) {}
virtual void process_wstring_text(std::wstring text) {}
virtual void process_wstring_ref_text(const std::wstring& text) {}
#endif
virtual std::wstring multiple_params_val(const std::wstring& p1, const std::wstring& p2, std::wstring p3, std::wstring p4) const
@ -57,6 +56,8 @@ struct A
{ return get_first(); }
void call_process_func() { process_text(L"hello"); }
void call_process_wstring_func() { process_wstring_text(L"hello"); }
void call_process_wstring_ref_func() { process_wstring_ref_text(L"hello"); }
};
%}