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

Reply via email to