I have a library that uses classes from another library (dll)
//DLL External library API: Foo library
namespace foo{
class Component( Elemement e ) {
...
}
} //foo namespace
Now my library needs to use the foo dll and use some of its functionality and classes, but without exposing the Foo library types but some "translation"
// my developed library "Core"
namespace core{
class Component( Element e ){
...
}
}
The public API will expose the class core::Component and core::Element, but actually those should be direct translations to the foo::Component and foo::Element. Imagine also that this translation needs to be done for many other classes that need to be wrapped to be exposed. What would be the best way to handle this?