On Mon, Mar 6, 2017 at 6:50 PM, MyeongGi Jeong <myeong.jeong at samsung.com> wrote:
> Hi, IoTivity folk. > > I'd like to propose IoTivity Smart Home APIs to implement IoTivity > services more intuitively. > > Current resource layer APIs are not sufficient to implement applications > and services by application SW developers that don't have exact OCF > specification details. > > Most of SW developers usually want to develop the applications by > understanding the API usage guide. > > But, by using the current APIs, SW developers cannot write their > applications without knowing OCF specification. > > And they should handle the request and response data such as request type, > device type, resource type and interface type. > > These increase the difficulty of developing IoTivity services. > > So, I suggest providing the additional APIs, to develop > the IoTivity services with minimal knowledge of OCF specification. > The new APIs are going to be written by C++, to develop > the services by OOP design. > > For example, > > OCF::Fan ceilingFan( "off" ); // create Fan object with initial status > > ceilingFan.TurnOn( ); // turning on > > ceilingFan.TurnOff( ); // turning off > > > > All devices defined by OCF specification are represented with pre-defined > classes. > > I'll create the wiki page to explain more detaild API design concept soon. > > And also I'll create the Jira ticket to discuss about the API design... > > I believe that this makes IoTivity more eaisier. > That's a worthy goal, but not something that should go in the Iotivity project. It's something tool developers should write and offer - wrappers or abstraction layers that hide the lower level implementation details from application programmers. In fact it would be a mistake (IMO) for the Iotivity project to offer anything more than a toy implementation of this sort of thing, because it would be likely to inhibit competition among vendors. If OCF/Iotivity really takes off we can expect to see lots of libraries like this, just as we see lots of libraries for dealing with HTTP, HTML, etc. Gregg -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20170307/4d434ec9/attachment.html>
