platform/upstream/iotivity.git
9 years agoImplementation of Things Manager feature.
HyunJun Kim [Tue, 16 Dec 2014 07:50:07 +0000 (16:50 +0900)]
Implementation of Things Manager feature.

Add feature for Things Manager

 - Subscribe Collection Presence
 - CRUD function for ActionSet
 - Finding group
 - Creating group
 - Join the specific group
 - Let the other devices to join the specific group
 - Leave from the specific group
 - Delete the group
 - Get all group information
 - send configuration information to multiple things
 - send diagnostics information(i.e. factory reset, reboot)
 - Get the configuration parameter list
 - Get the diagnostics functionalities list

Fix Segmentation fault.
 - Bug fix : "Implementation of Things Manager feature."
             https://oic-review.01.org/gerrit/495
             OCPlatform_impl.cpp, InProcServerWrapper.cpp

Change-Id: I5b44fbdb034c924df4787a30a4d9c86ce4704aff
Signed-off-by: HyunJun Kim <hyunjun2.kim@samsung.com>
9 years agoImplementation of Group action feature for Things Manager.
HyunJun Kim [Mon, 15 Dec 2014 06:55:14 +0000 (15:55 +0900)]
Implementation of Group action feature for Things Manager.

Add GROUP_INTERFACE and OC_RSRVD_INTERFACE_GROUP.
These interfaces are supported Group Action.

When DefaultCollectionEntityHandler is received an message
which Using GROUP_INTERFACE,
It is called BuildCollectionGroupActionJSONResponse.

PUT : Action Create and Delete
POST : Action Read and Execute

Change-Id: I14519fa85b5319c3e9df72fa27e85a5d8df6ea87
Signed-off-by: HyunJun Kim <hyunjun2.kim@samsung.com>
9 years agoMerge "Changed plugin public setValue API to private."
Uze Choi [Mon, 15 Dec 2014 05:08:09 +0000 (21:08 -0800)]
Merge "Changed plugin public setValue API to private."

9 years agoMerge "There are Two modifications. 1. Restucturing Notification Manager Class ...
Uze Choi [Mon, 15 Dec 2014 05:01:33 +0000 (21:01 -0800)]
Merge "There are Two modifications. 1. Restucturing Notification Manager Class   : Hosting feature is separated from Resource Manager Class into Hosting Handler, Hosting Interface, Hosting Config.     Corresponding Sample code modification. 2. Resource Hosting Control Point (in the Hosting Interface Class)   : Set up the Control Point for Resource Hosting.     User can control how to host Resource by timing and nodes"

9 years agoChanged plugin public setValue API to private.
heesung84.kim [Mon, 15 Dec 2014 04:55:06 +0000 (13:55 +0900)]
Changed plugin public setValue API to private.

    Application developer shoud not change the plugin infomation.
    remove unnecessary code.

Change-Id: Id1ca15282d0b6a4facb547a6b40250c1b61cbd13
Signed-off-by: heesung84.kim <heesung84.kim@samsung.com>
9 years agoMerge "[SSM] Fix build script"
Uze Choi [Mon, 15 Dec 2014 04:12:56 +0000 (20:12 -0800)]
Merge "[SSM] Fix build script"

9 years agoMerge "[SSM] Apply changed OIC API"
Uze Choi [Mon, 15 Dec 2014 04:11:06 +0000 (20:11 -0800)]
Merge "[SSM] Apply changed OIC API"

9 years agoMerge "Fixed IOT-110--Crash on destruction"
sudarshan prasad [Sat, 13 Dec 2014 01:20:04 +0000 (17:20 -0800)]
Merge "Fixed IOT-110--Crash on destruction"

9 years ago[SSM] Fix build script
jk13 [Fri, 12 Dec 2014 10:51:19 +0000 (19:51 +0900)]
[SSM] Fix build script

1. Apply scons
2. Fix arduino makefile
3. Cleanup makefiles

Change-Id: I9f9c1597df21be96b4d40cfdd277649349dd742e
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
9 years ago[SSM] Apply changed OIC API
jk13 [Fri, 12 Dec 2014 10:49:10 +0000 (19:49 +0900)]
[SSM] Apply changed OIC API

1. Code cleanup with formatter
2. Change code to use changed OIC API style

Change-Id: I9f52091d62022575acfdd9dc97d19db361239c4e
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
9 years agoThere are Two modifications.
Heewon Park [Fri, 12 Dec 2014 08:51:08 +0000 (17:51 +0900)]
There are Two modifications.
1. Restucturing Notification Manager Class
  : Hosting feature is separated from Resource Manager Class into Hosting Handler, Hosting Interface, Hosting Config.
    Corresponding Sample code modification.
2. Resource Hosting Control Point (in the Hosting Interface Class)
  : Set up the Control Point for Resource Hosting.
    User can control how to host Resource by timing and nodes

Change-Id: I627eaff40f6a5c19a4297cafcf9ea9e3c739d520
Signed-off-by: Heewon Park <h_w.park@samsung.com>
9 years agoModify PPM makefile for using shared base library
heesung84.kim [Fri, 12 Dec 2014 07:53:35 +0000 (16:53 +0900)]
Modify PPM makefile for using shared base library

Change-Id: I278b182b18512103c620b5629d29687527309808
Signed-off-by: heesung84.kim <heesung84.kim@samsung.com>
9 years agoFixed IOT-110--Crash on destruction
Erich Keane [Wed, 10 Dec 2014 21:43:37 +0000 (13:43 -0800)]
Fixed IOT-110--Crash on destruction

A shared_ptr loop in callbacks for listen and a server destructor
were causing the stack to crash upon destruction of the Platform_impl.
Platform_impl would decrement the ClientWrapper shared_ptr (which would
still be >0 due to the callback having one).  When the OCStop was cleaning
up its resources, it would delete the client context, decrementing the
ClientWrapper ptr completely, resulting in OCStop being called inside
itself.

This bug was fixed in a few ways (each which are important, but would
have fixed this independently).

1- Changed OCStop to protect itself from re-entrance by using a guard-bool
to return immediately if it is being called as a child.

2- ListenContext now contains a weak_ptr to the clientWrapper instead of
a shared_ptr.  This makes it not destruct the clientWrapper upon callback
cleanup.

3- ClientWrapper no longer calls OCStop in the destructor when in BOTH
mode.  This is done to be consistent with the OCInit call in the constructor
as well as to correctly give the ServerWrapper ownership of the Init/Process/
Stop functionality in the BOTH case.

Change-Id: I77c4646938f586e24ac6642fdeeaf82391ab082c
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoMerge "Update build scripts"
Patrick Lankswert [Thu, 11 Dec 2014 14:20:55 +0000 (06:20 -0800)]
Merge "Update build scripts"

9 years agoMerge "Added Plugin Manager Configuration Feature - application developer can modify...
Uze Choi [Thu, 11 Dec 2014 07:34:31 +0000 (23:34 -0800)]
Merge "Added Plugin Manager Configuration Feature  - application developer can modify plugin manager configuration(xml) like plugin path, max number of plugins."

9 years agoMerge "Updated the .gitignore"
sudarshan prasad [Thu, 11 Dec 2014 07:27:22 +0000 (23:27 -0800)]
Merge "Updated the .gitignore"

9 years agoUpdated the .gitignore
Erich Keane [Fri, 5 Dec 2014 21:53:15 +0000 (13:53 -0800)]
Updated the .gitignore

Updated the gitignore to properly ignore things in the new folder
format, as well as added klocworks and some other missing ignores.

Change-Id: I75e7ac8497ae5a51f9bab00f90dc025190d68960
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoMerge "Fixed need of implementers to include cereal in their build path"
sudarshan prasad [Wed, 10 Dec 2014 21:38:36 +0000 (13:38 -0800)]
Merge "Fixed need of implementers to include cereal in their build path"

9 years agoAdded Plugin Manager Configuration Feature
heesung84.kim [Wed, 10 Dec 2014 05:00:13 +0000 (14:00 +0900)]
Added Plugin Manager Configuration Feature
 - application developer can modify plugin manager configuration(xml) like plugin path, max number of plugins.

Added More Plugin Manager APIs
 - int getState()
   getState API can get plugin's state
 - int rescanPlugin()
   Rescan the plugin folder

Removed Unnecessary Plugin Manager APIs
 - std::string getSupportedType(void)
 - int addSupportedType(const std::string rscType)

Disabled Auto Plugin Detection Feature
 - In previous version, PPM used iNotify to detect new Plugin detection.
   However, iNotify have platform porting issue and heavy. We will find better way in next version.

Change-Id: I0efac20efbc39b3fb0b2bcc1a34685acad1c7517
Signed-off-by: heesung84.kim <heesung84.kim@samsung.com>
9 years agoMerge changes I56f29eac,Ic7530d44
sudarshan prasad [Tue, 9 Dec 2014 22:30:59 +0000 (14:30 -0800)]
Merge changes I56f29eac,Ic7530d44

* changes:
  Fixed usages of memset(..0..) to use Calloc/init'er
  Added OCCalloc functionality and Fixed Malloc Tests

9 years agoMerge "Send presence notification on stopping presence.(Multicast)"
sudarshan prasad [Tue, 9 Dec 2014 22:06:08 +0000 (14:06 -0800)]
Merge "Send presence notification on stopping presence.(Multicast)"

9 years agoMerge "Fixed klocwork issues in C++ Stack"
sudarshan prasad [Tue, 9 Dec 2014 21:09:02 +0000 (13:09 -0800)]
Merge "Fixed klocwork issues in C++ Stack"

9 years agoMerge "Fix klocwork issues in C samples"
sudarshan prasad [Tue, 9 Dec 2014 20:50:02 +0000 (12:50 -0800)]
Merge "Fix klocwork issues in C samples"

9 years agoFixed need of implementers to include cereal in their build path
Erich Keane [Wed, 3 Dec 2014 22:48:16 +0000 (14:48 -0800)]
Fixed need of implementers to include cereal in their build path

Previously we did a bit of implementation in the OCRepresentation.cpp
file because we thought we needed to (due to Template confusion).

It has been realized that this isn't necessary, so this fix removes that
need.

Change-Id: I5e022fe37b822eae83e164686c979ac6f474135c
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoFixed klocwork issues in C++ Stack
Erich Keane [Tue, 9 Dec 2014 19:02:03 +0000 (11:02 -0800)]
Fixed klocwork issues in C++ Stack

Ran klocwork 10 and fixed the issues that were highlighted.

fridgeclient:
return values from constructResourceObject weren't checked
for null.  Additionally, variables sent to getValue uninitialized.

presenceclient: presenceHandle used uninitialized.

threadingsample: variables sent to getValue uninitialized.

OicJsonSerializer.hpp:
Removed dead code that had a large number of klocwork issues
Methods that didn't return despite having a return type.

InProcClientWrapper.cpp:
Contexts deleted in cases where they aren't passed to the C stack.

InProcServerWrapper.cpp:
entityhandlerRequest was used without being checked for null

Many samples:
Replaced while(true) with a condition_variable
Ensured 'main' returned 0.  Despite being optional, KW shows this as
a warning
incorrect 'main' prototype (argv specified array length 1!)

Out of the 40+ issues found of all types, the following were skipped
due to being in an external library:

Review:
CWARN.MEM.NONPOD (4 issues)

Warning:
CL.MLK (2 issues)

NPD.FUNC.MUST(1 issue)

Change-Id: I1e9fa222cc27352075a1b8f5d53787bd3020b525
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoFixed usages of memset(..0..) to use Calloc/init'er
Erich Keane [Mon, 8 Dec 2014 20:15:29 +0000 (12:15 -0800)]
Fixed usages of memset(..0..) to use Calloc/init'er

Our code has a number of cases where we declare a struct then
immediately memset to all 0.  This uses the initializers which
are less prone to failure and are faster due to compiler optimizations.

Additionally, we have a number of cases where we OCMalloc a
struct, then immediately zero it.  This fix uses the new OCCalloc
in order to save unnecessary memset and reduce potential for accidental
error.

In a few of the cases, older compilers didn't handle the {0} initializer
correctly and gave errors (Arduino Mega).  Because of that, a few structs
were reordered to compile for that platform.

Change-Id: I56f29eac68240abea2fb8a69d888a09d61d4488a
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoFix klocwork issues in C samples
Sakthivel Samidurai [Fri, 5 Dec 2014 16:26:52 +0000 (13:26 -0300)]
Fix klocwork issues in C samples

Scan klocwork and fix all issues in c samples that were highlighted.

Change-Id: Id018abfd380c8723842a24f20c8f781dca177458
Signed-off-by: Sakthivel Samidurai <sakthivel.samidurai@intel.com>
9 years agoMerge "[SSM] Modify repo init method and fix Resource data reader"
Uze Choi [Tue, 9 Dec 2014 09:25:04 +0000 (01:25 -0800)]
Merge "[SSM] Modify repo init method and fix Resource data reader"

9 years agoMerge "[SSM] Reflect current OIC api style and add Tizen Inproc Sample"
Uze Choi [Tue, 9 Dec 2014 09:12:05 +0000 (01:12 -0800)]
Merge "[SSM] Reflect current OIC api style and add Tizen Inproc Sample"

9 years agoMerge "[SSM] Implement Inproc feature for Linux platform"
Uze Choi [Tue, 9 Dec 2014 09:02:35 +0000 (01:02 -0800)]
Merge "[SSM] Implement Inproc feature for Linux platform"

9 years agoMerge "Fix Unicast Presence Error"
sudarshan prasad [Tue, 9 Dec 2014 00:59:47 +0000 (16:59 -0800)]
Merge "Fix Unicast Presence Error"

9 years agoSend presence notification on stopping presence.(Multicast)
omkar [Tue, 9 Dec 2014 00:04:39 +0000 (16:04 -0800)]
Send presence notification on stopping presence.(Multicast)

Previously notifcation was not being sent on presence stopped.
Adding a check in case of multicast presence for presence stopped.

Change-Id: I774295b89fef607a3d1936d26071d79c41ec96b5
Signed-off-by: omkar <omkar.m.hegde@intel.com>
9 years agoFix Unicast Presence Error
omkar [Mon, 8 Dec 2014 22:32:28 +0000 (14:32 -0800)]
Fix Unicast Presence Error

Fix for IOT-95. Previously we had missed a "+1" when mallocing a char *

Change-Id: I96021ddce22c2fa7e3afa8f8d10e6da10b47ebbc
Signed-off-by: omkar <omkar.m.hegde@intel.com>
9 years agoAdded OCCalloc functionality and Fixed Malloc Tests
Erich Keane [Mon, 8 Dec 2014 20:00:18 +0000 (12:00 -0800)]
Added OCCalloc functionality and Fixed Malloc Tests

The OCMalloc tests didn't seem to be running correctly, so
this fixes that.  Additionally, added OCCalloc functionality so
that we can replace 'memset 0' in a number of places in the C Stack.

Change-Id: Ic7530d442c146724e91ec12646a4363de63f6874
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoImprove Presence Callback in C++ SDK
omkar [Tue, 25 Nov 2014 21:39:18 +0000 (13:39 -0800)]
Improve Presence Callback in C++ SDK

Passing the host address information to the application on receiving
presence Notification. Based on IOT-91.

Signed-off-by: omkar <omkar.m.hegde@intel.com>
Change-Id: Ie6bc5e20c71e14e2745da435a65de874d6f28742

9 years agoMerge "Added support to allow more than one presence resource type filter."
sudarshan prasad [Mon, 8 Dec 2014 20:48:50 +0000 (12:48 -0800)]
Merge "Added support to allow more than one presence resource type filter."

9 years agoAdded support to allow more than one presence resource type filter.
Joseph Morrow [Mon, 8 Dec 2014 20:15:31 +0000 (15:15 -0500)]
Added support to allow more than one presence resource type filter.

Where only one filter was supported before, resource type filters must
be added one at a time through use of the OCDoResource() API, therefore
a call to OCDoResource() for every amend is req'd with this add-on.

Change-Id: I54a1166ad6992a26f133ed6797730fcdb4e9cf73
Signed-off-by: Joseph Morrow <joseph.l.morrow@intel.com>
9 years agoMerge "Fix the name of the resource created in Arduino server to Light."
sudarshan prasad [Mon, 8 Dec 2014 07:05:52 +0000 (23:05 -0800)]
Merge "Fix the name of the resource created in Arduino server to Light."

9 years agoMerge "Fixed EntityHandlerRequest initialization to match other uses"
sudarshan prasad [Mon, 8 Dec 2014 07:00:53 +0000 (23:00 -0800)]
Merge "Fixed EntityHandlerRequest initialization to match other uses"

9 years agoMerge "Fixed OCSerialization NVP Header Reset"
sudarshan prasad [Mon, 8 Dec 2014 06:50:42 +0000 (22:50 -0800)]
Merge "Fixed OCSerialization NVP Header Reset"

9 years agoUpdate build scripts
Caiwen Zhang [Fri, 5 Dec 2014 08:00:57 +0000 (16:00 +0800)]
Update build scripts

1) Add build options to enviornment(env) to avoid export variables
2) Sync with the newest code
3) Update Readme(Readme.scons.txt)
4) Extend arduino supporting
5) Add build scripts for services
6) Add a doc(scons_script_how_to.txt) about how to write iotivity
    build script
7) change resource libs from static library to share library

Last sync and test with the newest code commit:
  e9403ce6d4d7a1a0ac8d12c5acc876af7f7a8f76

Note:
  Scripts for Service are provided but aren't enabled due to the
service code is too old it can't pass the build.

Change-Id: I06427cfe65e6fcf5837376f2f89d1e93c662f920
Signed-off-by: Caiwen Zhang<caiwen.zhang@intel.com>
9 years ago[SSM] Modify repo init method and fix Resource data reader
jk13 [Mon, 8 Dec 2014 04:58:12 +0000 (13:58 +0900)]
[SSM] Modify repo init method and fix Resource data reader

Modify Repository class init method to load local SoftSensors,

Fix OIC data reader to read correct data

Change-Id: I099d732ddf019deb79d2d88477556eacf2eb2078
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
9 years ago[SSM] Reflect current OIC api style and add Tizen Inproc Sample
jk13 [Fri, 28 Nov 2014 06:30:17 +0000 (15:30 +0900)]
[SSM] Reflect current OIC api style and add Tizen Inproc Sample

Problem:
        Need to reflect new OIC API design
        To provide Tizen Inproc sample

How:
        Change SSM OIC wrapping class to reflect current OIC api sets
        Modify previous Tizen sample to use Inproc API

Change-Id: I3cde8a769684375cf03678f2af945f680fa85ca5
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
9 years ago[SSM] Implement Inproc feature for Linux platform
jk13 [Fri, 21 Nov 2014 06:43:12 +0000 (15:43 +0900)]
[SSM] Implement Inproc feature for Linux platform

Problem:
        To meet M2 requirements

How:
        Separate SSM Interface to support Inproc/Outproc.
        Change Application to use Inproc interface rather than Resource/Client model

Comment:
        This version is not tested to build. Integrate new OIC is still in progress.

Change-Id: Ib6466c91e7e407fd38c255300a8c253ac15eb978
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
9 years agoAdded release notes for Dec 6th release.
Sudarshan Prasad [Sun, 7 Dec 2014 01:04:11 +0000 (17:04 -0800)]
Added release notes for Dec 6th release.

Change-Id: I86359fb2072a1a910cd405c8b24cfccbac700da9
Signed-off-by: Sudarshan Prasad <sudarshan.prasad@intel.com>
9 years agoFixed OCSerialization NVP Header Reset
Erich Keane [Wed, 3 Dec 2014 19:52:53 +0000 (11:52 -0800)]
Fixed OCSerialization NVP Header Reset

OCSerialization was not resetting the name-value pair header on error,
so this fixes that issue.  When searching for a NVP that doesn't exist,
cereal/RapidJSON will leave the iterator in a 'bad' place that can result
in not being able to find what we're looking for.

Change-Id: I40c1ee5397ebf2e0eb771ed8a209ea9e75757a33
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoFixed EntityHandlerRequest initialization to match other uses
Erich Keane [Fri, 5 Dec 2014 19:53:08 +0000 (11:53 -0800)]
Fixed EntityHandlerRequest initialization to match other uses

Everywhere else we are using initializers rather than memcpy, so
this fix makes this one instance match the rest of the initializers.

Change-Id: I7ccb433ed58abbfb25ada17214dbaf5819d210fa
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoFix the name of the resource created in Arduino server to Light.
Yamin Al-Mousa [Fri, 5 Dec 2014 19:04:46 +0000 (11:04 -0800)]
Fix the name of the resource created in Arduino server to Light.

This is to bring resources in sync with Linux client example.
Now Linux client samples can interact with Arduino server.

Change-Id: Ic7985790c8099d3b6230e1f48824e61b3d2272a5
Signed-off-by: Yamin Al-Mousa <yamin.s.al-mousa@intel.com>
9 years agoMerge "Implement functionality to set PSK credentials for DTLS in OC stack."
sudarshan prasad [Fri, 5 Dec 2014 01:59:58 +0000 (17:59 -0800)]
Merge "Implement functionality to set PSK credentials for DTLS in OC stack."

9 years agoImplement slow response feature.
Doug Hudson [Thu, 4 Dec 2014 21:37:22 +0000 (16:37 -0500)]
Implement slow response feature.

This feature allows a resource entity handler to provide a "slow response"
to a client request.  That is, if a request is received but the server cannot
respond immediately (e.g. response data is not available), the server can
instead respond at a later time.  The same API is used for both immediate
and slow responses.

Updated collection's batch interface to aggregate responses of local resources
contained in the collection.  Note that the aggregate response only applies
to local resources, not remote resources.

This feature introduces a new C API, OCDoResponse and a new C++ API,
OCPlatform::sendResponse.  The C++ modifications also include a change to
the the signature of the applications entity handler.

Change-Id: Ic33ab0c7ff52481bed86e9a77319baa3813dd6cd
Signed-off-by: Doug Hudson <douglas.hudson@intel.com>
Signed-off-by: Yamin Al-Mousa <yamin.s.al-mousa@intel.com>
Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com>
Signed-off-by: Sudarshan Prasad <sudarshan.prasad@intel.com>
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoImplement functionality to set PSK credentials for DTLS in OC stack.
Sachin Agrawal [Thu, 4 Dec 2014 17:43:17 +0000 (09:43 -0800)]
Implement functionality to set PSK credentials for DTLS in OC stack.

Uptil now DTLS module in OCStack was using PSK credentials which
were hard-coded. Added API which can be used by application to
provide device identity and PSK credentials.

Change-Id: I4df6db6ab70ee69917d0111f06a6504f3ce56ce2
Signed-off-by: Chris Mitchell <cmitch2@intel.com>
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com>
9 years agoMoved location of tinyDTLS from csdk to extlibs directory
Sachin Agrawal [Tue, 2 Dec 2014 17:11:26 +0000 (09:11 -0800)]
Moved location of tinyDTLS from csdk to extlibs directory

External libraries are currently being stored under extlibs
directory and therefore moved tinyDTLS also there.

Change-Id: Ib21bd994115b7cd2fddfe92010b6f5f8d2e0b658
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com>
9 years agoMerge "Implemented JSON Serialization using Cereal Library"
sudarshan prasad [Tue, 2 Dec 2014 23:23:46 +0000 (15:23 -0800)]
Merge "Implemented JSON Serialization using Cereal Library"

9 years agoImplemented JSON Serialization using Cereal Library
Erich Keane [Wed, 22 Oct 2014 20:31:13 +0000 (13:31 -0700)]
Implemented JSON Serialization using Cereal Library

Previously we were hand-mangling strings for JSON serialization and using
boost::property_tree for parsing.  Now we are using an open source library (cereal)
to do both sides in the C++ stack

Change-Id: I2db2657552a31cdf37c2f2dbbcfdb34e48549f00
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoMerge "Fix sending 3 notifications when creating a resource"
sudarshan prasad [Thu, 27 Nov 2014 17:25:28 +0000 (09:25 -0800)]
Merge "Fix sending 3 notifications when creating a resource"

9 years agoMerge "Fix the infinite PRESENCE_STOPPED message"
sudarshan prasad [Thu, 27 Nov 2014 17:24:29 +0000 (09:24 -0800)]
Merge "Fix the infinite PRESENCE_STOPPED message"

9 years agoFix sending 3 notifications when creating a resource
Sashi Penta [Tue, 25 Nov 2014 23:37:48 +0000 (15:37 -0800)]
Fix sending 3 notifications when creating a resource

Implemented bind resource interface/type internal functions which
do not send the presence notificiations.

Change-Id: Ibf093d489d24ee729f30d714fca5f9b6d9dfe254
Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
9 years agoFix the infinite PRESENCE_STOPPED message
Sashi Penta [Sun, 23 Nov 2014 00:40:24 +0000 (16:40 -0800)]
Fix the infinite PRESENCE_STOPPED message

When a client to subscirbes to a server, and when the server process is
exited, client is getting was getting infinte PRESENCE_STOPPED messages.
This commit fixes this issue. Introduced a new stack result
type : PRESENCE_TIMEOUT to indicate timeout of the server.
PRESENCE_STOPPED is used for graceful stopping of the server.

Change-Id: I4e122176f8f7ea8e04d98dea02d22432b4c4555a
Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
9 years agoMerge "Adding PCF() wrappers to OC_LOG() calls that were missing in the stack."
Erich Keane [Mon, 24 Nov 2014 18:33:42 +0000 (10:33 -0800)]
Merge "Adding PCF() wrappers to OC_LOG() calls that were missing in the stack."

9 years agoMerge "Implementation of connectivity abstraction feature-Ubutu v0.1"
Uze Choi [Thu, 20 Nov 2014 10:27:05 +0000 (02:27 -0800)]
Merge "Implementation of connectivity abstraction feature-Ubutu v0.1"

9 years agoImplementation of connectivity abstraction feature-Ubutu v0.1
ashok.channa [Fri, 14 Nov 2014 14:32:40 +0000 (23:32 +0900)]
Implementation of connectivity abstraction feature-Ubutu v0.1

Connectivity Abstraction feature provides unified approach for multiple
Transports

Adding WIFI transport support on Ubuntu platform in the  v0.1 release
We followed Coding guidelines as per current base source.

Please read the Release notes v0.1 for more information.
Non Supported code is just made to print the message.

Change-Id: Id018c10680a5cf0ce046592da46cc3ad69669d77
Signed-off-by: ashok.channa <ashok.channa@samsung.com>
9 years agoMerge "Removed Protocol Plugin developer guide document."
Uze Choi [Thu, 20 Nov 2014 02:33:11 +0000 (18:33 -0800)]
Merge "Removed Protocol Plugin developer guide document."

9 years agoMerge "Fixed: bug where Header Option count would be zero"
sudarshan prasad [Wed, 19 Nov 2014 23:07:53 +0000 (15:07 -0800)]
Merge "Fixed: bug where Header Option count would be zero"

9 years agoRemoved Protocol Plugin developer guide document.
junho13.lee [Wed, 19 Nov 2014 06:03:57 +0000 (15:03 +0900)]
Removed Protocol Plugin developer guide document.

Because uploading the developer guide document to the web page,
we no longer manage the document in the repository.

Change-Id: I5aeed10245ce1d255ce69dfd7a2255c5e9f9cdf9
Signed-off-by: junho13.lee <junho13.lee@samsung.com>
9 years agoFixed bug where InvalidParam exception thrown on re-observe
Erich Keane [Tue, 18 Nov 2014 22:23:14 +0000 (14:23 -0800)]
Fixed bug where InvalidParam exception thrown on re-observe

Observing a resource more than once isn't allowed.  However, we were
not clearing the "Observation Handle" on observation cancel.  This
patch resets the observe handle to nullptr when cancelling observation
so that we can re-observe after cancelling.

Change-Id: I507a427e641ad08c5e48e2dea4c5b7b3d0e3a79b
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years agoFixed: bug where Header Option count would be zero
Erich Keane [Tue, 18 Nov 2014 22:06:12 +0000 (14:06 -0800)]
Fixed: bug where Header Option count would be zero

01.org IOT-76

Header options had a defect introduced attempting to fix
the 'zero' header option count value.  In the previous defect,
the stack would have an uninitialized header options count
when there were none.  The previous fix has been removed and
initialization has been done in the correct place.

Change-Id: I99e0539f86573cfa7392921e1fdfe25dd80b303a
Signed-off-by: Erich Keane <erich.keane@intel.com>
9 years ago[SSM] Adapt astyle code formatter
jk13 [Tue, 18 Nov 2014 01:44:31 +0000 (10:44 +0900)]
[SSM] Adapt astyle code formatter

Problem: Follow coding guideline

How: Adapt astyle cpp formatter

Change-Id: I58ba77542f5fb3a935e1083a076957357599bc7e
Signed-off-by: Kim Jee Hyeok <jihyeok13.kim@samsung.com>
9 years agoMerge "[SSM] Modify thread util and framework init method"
Uze Choi [Tue, 18 Nov 2014 01:37:37 +0000 (17:37 -0800)]
Merge "[SSM] Modify thread util and framework init method"

9 years agoMerge "Supporting Java Plugin and making plugin manager as a library"
Uze Choi [Tue, 18 Nov 2014 00:40:58 +0000 (16:40 -0800)]
Merge "Supporting Java Plugin and making plugin manager as a library"

9 years ago[SSM] Modify thread util and framework init method
jk13 [Mon, 17 Nov 2014 11:11:03 +0000 (20:11 +0900)]
[SSM] Modify thread util and framework init method

Problem: Thread worker crashes while terminating.
         SoftSensor searching path must given at compile time

How:     Rearchitecture threading model
         Add XML descriptor based framework initialization.
           1. Search SoftSensorDescription.xml
              (previously high-context.xml) where executable located
           2. Or put search path using below init configration.

<SSMCore>
    <Device>
        <UDN>abcde123-31f8-11b4-a222-08002b34c003</UDN>
        <Name>MyPC</Name>
        <Type>PC</Type>
    </Device>
    <Config>
        <SoftSensorRepository>/usr/local/SSRepo/</SoftSensorRepository>
        <SoftSensorDescription>/usr/local/SSRepo/SSDescription.xml</SoftSensorDescription>
    </Config>
</SSMCore>

Change-Id: Id2c0746357d9e850e9e90016547b116412b758d2
Signed-off-by: Kim Jee Hyeok <jihyeok13.kim@samsung.com>
9 years ago[SSM] Fix to call OIC platform destructor
jk13 [Mon, 17 Nov 2014 11:10:30 +0000 (20:10 +0900)]
[SSM] Fix to call OIC platform destructor

Problem: There is no destructor caller

How: Call platform destructor when OIC platform manager destroying

Change-Id: I83b033494f3bb84e5341c21d7ec4051e110a9ff8
Signed-off-by: Kim Jee Hyeok <jihyeok13.kim@samsung.com>
9 years ago[SSM] Fix model unregistration problem
jk13 [Mon, 17 Nov 2014 11:09:58 +0000 (20:09 +0900)]
[SSM] Fix model unregistration problem

Problem: If try to unregister registered model,
         unable to find registered model because of key mismatch.

How: Use proper key token to find registered model

Change-Id: Ib66242a4532e6a5fd8ced8e232fea26672347880
Signed-off-by: Kim Jee Hyeok <jihyeok13.kim@samsung.com>
9 years ago[SSM] Remove global mutex
jk13 [Mon, 17 Nov 2014 11:09:02 +0000 (20:09 +0900)]
[SSM] Remove global mutex

Problem: global mutex is not necessary
          while initializing platform.

How: Remove global mutex class and references.

Change-Id: I8972c6eb7d67dbd91c5c8638bec22fe83f83ef43
Signed-off-by: Kim Jee Hyeok <jihyeok13.kim@samsung.com>
9 years agoSupporting Java Plugin and making plugin manager as a library
junho13.lee [Mon, 17 Nov 2014 10:31:24 +0000 (19:31 +0900)]
Supporting Java Plugin and making plugin manager as a library

1) Cleaned unnecsssary files.

2) Changed plugin manager to support C/C++ and Java Plugin. Java plugin manager is not completed yet.

   This commit only have template code for Java.

3) Created plugin manager as a separate library(libpm.a) to be linked by application directly.

   And separated plugin manager implementation as shared library(libpmimpl.so) to support out-proc mode with same libpm.a in the future.

Change-Id: I5a80faa0546da1832e15a75dacc7f916faedd868
Signed-off-by: Lee Jun Ho <junho13.lee@samsung.com>
9 years agoAdding PCF() wrappers to OC_LOG() calls that were missing in the stack.
Joseph Morrow [Sun, 16 Nov 2014 18:45:25 +0000 (13:45 -0500)]
Adding PCF() wrappers to OC_LOG() calls that were missing in the stack.

By ensuring all calls to OC_LOG() wrap their strings with PCF(), we're
ensuring log statements don't take up program memory on lite platforms.

Change-Id: I1aeba972a539ea89d6862d402ee15cf286fbc860
Signed-off-by: Joseph Morrow <joseph.l.morrow@intel.com>
9 years agoAdded release notes for Nov 15 release.
Sudarshan Prasad [Sun, 16 Nov 2014 05:37:24 +0000 (21:37 -0800)]
Added release notes for Nov 15 release.

Signed-off by Sudarshan Prasad <sudarshan.prasad@intel.com>
Change-Id: I2382af916166a1d75e220a84c0b7d0dd45271662

9 years agoModify presenceclient sample
Sashi Penta [Sat, 15 Nov 2014 19:58:18 +0000 (11:58 -0800)]
Modify presenceclient sample

Modify presenceclient application to subcribe to MC address
without the need to discover a resource.

Change-Id: I0aed9941dab56a22f9eb58fa8150000b4a554b42
Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
9 years agoMerge "Support resource type for multicast subscription"
sudarshan prasad [Sat, 15 Nov 2014 18:49:21 +0000 (10:49 -0800)]
Merge "Support resource type for multicast subscription"

9 years agoActive Discovey Resource Type Filtering - C++ SDK & App Changes only.
Joseph Morrow [Sat, 15 Nov 2014 00:53:10 +0000 (19:53 -0500)]
Active Discovey Resource Type Filtering - C++ SDK & App Changes only.

This change affects only the C++ API and it's sample app
"presenceclient.cpp".

Change-Id: I92cebe5045dfda5b506ab6c849a1ce13330c4391
Signed-off-by: Joseph Morrow <joseph.l.morrow@intel.com>
9 years agoAligning name of resource between C Apps and C++ Apps.
Joseph Morrow [Tue, 11 Nov 2014 19:41:51 +0000 (14:41 -0500)]
Aligning name of resource between C Apps and C++ Apps.

This change to align the "LED" resource to be named "Light"
allows for inter-SDK application verification. This will help
ensure that both SDKs operate similarly, if not identically.

Change-Id: I418f47c664a605bfd56d8d50e35755463dc910fb
Signed-off-by: Joseph Morrow <joseph.l.morrow@intel.com>
9 years agoAdd to C SDK sample app to subscribe to presence with or without filter.
Joseph Morrow [Fri, 14 Nov 2014 00:00:52 +0000 (19:00 -0500)]
Add to C SDK sample app to subscribe to presence with or without filter.

This allows for end user to see the difference between a filtered
presence subscription and a non-filtered presence subscription. Also
added some minor logging changes.

Change-Id: Ib068d3917937e6da7752125cbe86a44fcb83a2df
Signed-off-by: Joseph Morrow <joseph.l.morrow@intel.com>
9 years agoMerge "Active Discovery Resource Type Filtering - C SDK & App Changes only."
sudarshan prasad [Sat, 15 Nov 2014 18:27:20 +0000 (10:27 -0800)]
Merge "Active Discovery Resource Type Filtering - C SDK & App Changes only."

9 years agoSupport resource type for multicast subscription
Sashi Penta [Sat, 15 Nov 2014 17:32:55 +0000 (09:32 -0800)]
Support resource type for multicast subscription

Change-Id: I001a62601a70dbc7d5e9b3480e1134bdbe3dfde4
Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
9 years agoActive Discovery Resource Type Filtering - C SDK & App Changes only.
Joseph Morrow [Sat, 15 Nov 2014 04:34:52 +0000 (23:34 -0500)]
Active Discovery Resource Type Filtering - C SDK & App Changes only.

Applying required API changes and tying up a part of the functionality
required for implementing resource type filtering on presence
notifications.

Similar C++ SDK & App changes to follow this commit.

Change-Id: I9a8cd1a3e6e30c5de5788f593ef3efd2891b2f56
Signed-off-by: Omkar Hegde <omkar.m.hegde@intel.com>
Signed-off-by: Joseph Morrow <joseph.l.morrow@intel.com>
9 years agoMake command line option for secure and observer
Sakthivel Samidurai [Sat, 15 Nov 2014 02:04:54 +0000 (18:04 -0800)]
Make command line option for secure and observer

Implement command line option for secure resource and observer

Remove duplicate case to avoid confusion

Update app usage description

Change-Id: I2aa090a7a65448a7fbc54b41fef4b29d212f18f8
Signed-off-by: Sakthivel Samidurai <sakthivel.samidurai@intel.com>
9 years agoImplemented Secure resource support in C++ layer
Sashi Penta [Fri, 14 Nov 2014 05:32:27 +0000 (21:32 -0800)]
Implemented Secure resource support in C++ layer

Added ability for the C++ stack to properly parse/support the secure protocol URIs.

Change-Id: I800d29598854339a2d30ae5b4ef89c2d0973dfe7
Signed-off-by: Sakthivel Samidurai <sakthivel.samidurai@intel.com>
9 years agoModified OCInitUDP to support security.
Sashi Penta [Mon, 10 Nov 2014 21:21:25 +0000 (13:21 -0800)]
Modified OCInitUDP to support security.

Added a new flag to OCInitUDP to indicated whether to reuse the address or not.
Modified create_new_context API. It now takes the ipAddr[4] as input. This needs
to be passed further down to dtls_init.

signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
Change-Id: I536f215bf2a1ff4c90685e7a19e32fcb76f1e912

9 years agoImplement sending host port number for secure resources
Sachin Agrawal [Fri, 14 Nov 2014 01:17:39 +0000 (17:17 -0800)]
Implement sending host port number for secure resources

Secure resources are hosted on a separate IP port. All the
discovery responses are send from unicast unsecure port from
resource server. Currently, when a client receives discovery response
it 'assumes' that the sending port is the port hosting the resource
too. This 'assumption' is NOT valid for secure resources. Therefore,
there is a need to send 'secure port info' for secure resources in
JSON discovery response.

Change-Id: I54fd828a15913ec8be990d040e1190a88be43353
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com>
9 years agoMerge "Implemented libcoap's tinyDTLS interface"
Erich Keane [Fri, 14 Nov 2014 00:16:10 +0000 (16:16 -0800)]
Merge "Implemented libcoap's tinyDTLS interface"

9 years agoImplemented libcoap's tinyDTLS interface
Sachin Agrawal [Fri, 14 Nov 2014 00:03:57 +0000 (16:03 -0800)]
Implemented libcoap's tinyDTLS interface

libcoap needs to encrypt/decrypt packets while sending on
secure port. This changeset implements interface for libcoap
to use tinyDTLS for creating DTLS sessions and performing
crypto operations.
This changeset is dependent on having tinyDTLS installed
under oic-resourc/resource/csdk directory.

Change-Id: I728b147991b94b802f125ad8e457c1830a114fba
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com>
9 years agoMerge "Added support for multicast presence"
Erich Keane [Thu, 13 Nov 2014 22:56:09 +0000 (14:56 -0800)]
Merge "Added support for multicast presence"

9 years agoAdded C++ Sample application using multiple threads.
Erich Keane [Thu, 13 Nov 2014 18:51:43 +0000 (10:51 -0800)]
Added C++ Sample application using multiple threads.

C++ Sample application demonstrating the idea of running multiple
servers and clients running in multiple threads.

Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
Change-Id: Icdb59aaec35bb0c9d16b941fbf0eaa48c43d0a56

9 years agoMerge "fix coding standard problem"
Uze Choi [Thu, 13 Nov 2014 08:57:58 +0000 (00:57 -0800)]
Merge "fix coding standard problem"

9 years agofix notification manager for m2
jyong2.kim [Thu, 13 Nov 2014 07:48:05 +0000 (16:48 +0900)]
fix notification manager for m2

fix all code based on latest resource api.
fix notification folder name, following name convention.

Change-Id: Ic1eba69dd712428b4b0fae542d4acb005ad78a52

9 years agofix coding standard problem
jjack.lee [Thu, 13 Nov 2014 06:58:59 +0000 (15:58 +0900)]
fix coding standard problem

fix all coding standard problem. This commit did NOT include logic changes .

Change-Id: I34f7a33374f137b8b641dff74e113b4941cb1391

9 years agofix things manager sdk for m2
jjack.lee [Wed, 12 Nov 2014 08:12:41 +0000 (17:12 +0900)]
fix things manager sdk for m2

Change-Id: I681378772f6b9dd120fd23abc124e66cef85c07e

9 years agoAdded support for multicast presence
Sashi Penta [Mon, 10 Nov 2014 15:49:55 +0000 (07:49 -0800)]
Added support for multicast presence

Added OCMulticastNode data structure to store the nonce information of the server send
presence notifications. When a new notification comes to the client, client checks if there
is a multicast node, and then checks to see if the nonce is same or not. If same nonce, no call
back to client application is made. If nonce is different a call to client application is made.

Signed-off-by: Sashi Penta <sashi.kumar.penta@intel.com>
Change-Id: Ia3fe163e7a304f499272f9ffa8a22a359f123d98

9 years ago(1) add platform overload api : registerResource(resourcehandle, resource), (2) add...
jjack.lee [Mon, 10 Nov 2014 10:18:31 +0000 (19:18 +0900)]
(1) add platform overload api : registerResource(resourcehandle, resource), (2) add host in rsrc_t

Change-Id: I4809566e153eb3f488617adb7e044da869c1d88c

9 years agoRemoved Iotivity logo.
Sudarshan Prasad [Thu, 6 Nov 2014 23:23:26 +0000 (15:23 -0800)]
Removed Iotivity logo.

Until we get clearance with Iotivity logo, we are not going to use any logo.

Signed off by: Sudarshan Prasad <sudarshan.prasad@intel.com>
Change-Id: I366fc53bf453c8c0ec4730b44f7f2418ae21a395

9 years agoRepo Merge: Modified makefile for the soft sensor manager
William R. Dieter [Thu, 6 Nov 2014 04:49:45 +0000 (23:49 -0500)]
Repo Merge: Modified makefile for the soft sensor manager

Change-Id: I1f37e387d8c5d85b2ef95123126cc098e9b83735
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>