Communicating between programs written in other languages than C# and C++

There could be cases where you want to write program using two different languages and still communicate between programs using ProudNet. To make this happen, all it takes is to generate proxy and stub from each programs.

For basic type such as int, double, string and etc, ProudNet provides a wrapping module that works in other languages then C++. But name for these basic types may be different between programs. For instance, the string class of C# is System.String but in C++, it is std::string, std::wstring, ATL::CString, Proud::String.

To fix this problem, PIDL compiler offers a function that you can alter variable type from proxy and stub when they are being generated in correspondence to language you use.

Here is the sample.

// When generating proxy,stub in C#, change the name of TypeA to TypeB.
rename cs(TypeA,TypeB);
// When generating proxy,stub in C++, change the name of TypeC to TypeD.
rename cpp(TypeC,TypeD);
global XXX 2000
{
Foo([in]TypeA a); // When generating proxy,stub in C#, it becomes Foo(TypeB a).
Goo([in]TypeC c); // When generating proxy,stub in C++, it becomes Goo(TypeD c).
}