They are used as a part of a factory pattern in the OCPlatform, both for testing purposes, and extension purposes.
The initial idea was that we'd possibly have an 'out of proc' mechanism, where the ICLient/IServerWrapper would abstract the calls away to a version of IoTivity in a different process, however that feature never came to fruition. However, the factory mechanism is still sound for unit-testing and Inversion of Control purposes. This will allow people who are using our platform to more easily abstract our API out, so that they can test more easily. Additionally, these two interfaces should be the only way that OCPlatform/_impl and OCResource communicate with the C SDK, as they are dealing with error handling and conversions as well as thread safety. -Erich On Wed, 2015-07-29 at 17:47 +0530, Ashwini Sharma wrote: > Hi All, > > > In C++ SDK, IClientWrapper and IServerWrapper are implemented as > InProc and OutProc interfaces. IClientWrapper is used from the Client > application perspective, like from OCPlatform_impl and OCResource > classes. > > > I could not figure out the idea behind using these interfaces. What > purpose does this solve ? > > > I am working on providing the C++ APIs for Provisioning Manager > C-APIs. Your inputs will help me decide if I need to use the > IClientWrapper or I can do without this. > > > Thanks, > > Ashwini > > _______________________________________________ > iotivity-dev mailing list > iotivity-dev at lists.iotivity.org > https://lists.iotivity.org/mailman/listinfo/iotivity-dev
