platform/upstream/iotivity.git
10 years ago[SSM] Add OIC namespace and cleanup description file
jk13 [Fri, 19 Dec 2014 06:05:40 +0000 (15:05 +0900)]
[SSM] Add OIC namespace and cleanup description file

1. Add OIC namespace at SSM interface header for application developers
2. Add description for scons build and run

Change-Id: Id22df7b59fd30d67a05703ccbafc845e94f05ff3
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
10 years ago[SSM] change soft sensor description folder path
jk13 [Fri, 19 Dec 2014 00:21:57 +0000 (09:21 +0900)]
[SSM] change soft sensor description folder path

1. Change folder path
2. Set release folder for documentation

Change-Id: I2c307c813f87631122eec7e867845192739937b5
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
10 years agoMerge "[SSM] Apply OIC presence feature"
Uze Choi [Fri, 19 Dec 2014 02:51:08 +0000 (18:51 -0800)]
Merge "[SSM] Apply OIC presence feature"

10 years agoDevice Discovery - C & C++ SDK changes
omkar [Thu, 20 Nov 2014 18:55:35 +0000 (10:55 -0800)]
Device Discovery - C & C++ SDK changes

Adding API for setting device information.
Currently supports filtering of device information based on device id and
device name only.
Updated C and C++ sample applications

Change-Id: Ie2fbfac8c9444560633b9716e777d4697a146f66
Signed-off-by: omkar <omkar.m.hegde@intel.com>
10 years agoMerge "Fix prevent bug in the PluginManager. Fix bug in the sample app."
Uze Choi [Thu, 18 Dec 2014 09:20:16 +0000 (01:20 -0800)]
Merge "Fix prevent bug in the PluginManager. Fix bug in the sample app."

10 years agoMerge changes I21ded957,Ia1308e81,If6bccb8e,I6d548404
Uze Choi [Thu, 18 Dec 2014 09:19:26 +0000 (01:19 -0800)]
Merge changes I21ded957,Ia1308e81,If6bccb8e,I6d548404

* changes:
  [SSM] Fix static analysis tool issues and 64bit build support
  [SSM] Update SDK Api
  [SSM] Remove document folder
  [service] Publish service documents

10 years agoFix prevent bug in the PluginManager.
heesung84.kim [Thu, 18 Dec 2014 05:41:00 +0000 (14:41 +0900)]
Fix prevent bug in the PluginManager.
Fix bug in the sample app.

Change-Id: Ie1eca80ba41c768374229196b368c4fa070595b1
Signed-off-by: heesung84.kim <heesung84.kim@samsung.com>
10 years ago[SSM] Fix static analysis tool issues and 64bit build support
jk13 [Thu, 18 Dec 2014 06:24:30 +0000 (15:24 +0900)]
[SSM] Fix static analysis tool issues and 64bit build support

1. Fix code that detected by prevent(static analysis)
2. Fix code to support 64bit build

Change-Id: I21ded9571d2b4fc257991a534171e1931e6ba344
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
10 years ago[SSM] Update SDK Api
jk13 [Thu, 18 Dec 2014 06:21:24 +0000 (15:21 +0900)]
[SSM] Update SDK Api

1. Release Java API
2. Separate into cpp, java folder

Change-Id: Ia1308e814a4cb79575b11bc24ddce69376f2074a
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
10 years ago[SSM] Remove document folder
jk13 [Thu, 18 Dec 2014 06:04:08 +0000 (15:04 +0900)]
[SSM] Remove document folder

Change-Id: If6bccb8e4cae72baf08b66c6febab8d40a8ac7bc
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
10 years ago[service] Publish service documents
jk13 [Thu, 18 Dec 2014 06:01:50 +0000 (15:01 +0900)]
[service] Publish service documents

Change-Id: I6d5484042e8cef41403511fe206167ff30974fd8
Signed-off-by: jk13 <jihyeok13.kim@samsung.com>
10 years ago[SSM] Apply OIC presence feature
minjii.park [Thu, 18 Dec 2014 05:18:46 +0000 (14:18 +0900)]
[SSM] Apply OIC presence feature

1. Apply OIC presence check feature to Soft Sensor Manager
2. Add OIC presence feature to Thin Device Server Example

Change-Id: Iaa65942fb7bea5d0954cb65757ccb35bb2c12708
Signed-off-by: minjii.park <minjii.park@samsung.com>
10 years agoMerge "Fixed build error"
Patrick Lankswert [Wed, 17 Dec 2014 20:24:16 +0000 (12:24 -0800)]
Merge "Fixed build error"

10 years agoMerge "Added code to send close_notify alert when OC stack shuts down."
sudarshan prasad [Wed, 17 Dec 2014 19:52:27 +0000 (11:52 -0800)]
Merge "Added code to send close_notify alert when OC stack shuts down."

10 years agoFixed build error
Sudarshan Prasad [Wed, 17 Dec 2014 19:44:02 +0000 (11:44 -0800)]
Fixed build error

Due to a previous merge, build was failing when scons was used.
Signed-off-by:Sudarshan Prasad <sudarshan.prasad@intel.com>

Change-Id: I26ad37273f91e61bd4afb49c9c4010cde32cb3b9

10 years agoMerge "OIC scons build patch for Yocto"
Patrick Lankswert [Wed, 17 Dec 2014 16:57:22 +0000 (08:57 -0800)]
Merge "OIC scons build patch for Yocto"

10 years agoMerge "Implementation of Things Manager feature."
Uze Choi [Wed, 17 Dec 2014 06:23:45 +0000 (22:23 -0800)]
Merge "Implementation of Things Manager feature."

10 years agoMerge "Implementation of Group action feature for Things Manager."
Uze Choi [Wed, 17 Dec 2014 06:16:01 +0000 (22:16 -0800)]
Merge "Implementation of Group action feature for Things Manager."

10 years agoOIC scons build patch for Yocto
Kishen Maloor [Wed, 17 Dec 2014 01:43:22 +0000 (17:43 -0800)]
OIC scons build patch for Yocto

Function:
Adds Yocto as a build target for OIC. Code is
executed ONLY when TARGET_OS=yocto.
It WILL NOT affect a build for any other target.

Background:
Yocto cross-toolchains for platforms would have
to be fetched, installed and configured in their
standard way. This configuration is done by
sourcing in an “environment setup” script that
comes with the toolchain. scons is run after this
step.

Details:
The code in this patch reads the variables set
by Yocto’s script and: 1) Learns of tool names and
build flags (varies by target and arch.), 2) Finds
absolute path of these tools (yocto’s script adds
these to PATH) by looking in PATH, 3) Modifies the
scons construction environment to point to tools
+ all their required flags, 4) Switches TARGET_OS
to Linux so that it uses the Linux build configuration
for OIC, 5) Elects to preserve debug symbols (using -g)
so that Yocto’s build process can generate both
DEBUG and RELEASE packages for OIC (This is the
default recommendation of Yocto’s BitBake)

Additional notes:
-The pre-existing TC_PREFIX/TC_PATH framework is
not sufficient to support Yocto’s cross-toolchain.
-Supported architectures for the yocto target are x86
and x86_64. These have been tested to work for Intel
Edison and Minnowboard platforms.

Usage:
From a user’s perspective, there are no unexpected
steps.
1) source <yocto-env-setup-script>
2) …/oic-resource$ scons TARGET_OS=yocto <regular options>
For eg. “scons TARGET_OS=yocto TARGET_ARCH=x86 RELEASE=1”
The results of a build will now go into “out/yocto/x86/…”.
If step 1) hasn’t been done before step 2), the build will
fail with an error message.

Change-Id: I55efab20f9c174f46446e9d59e3fca6eef3df7f2
Signed-off-by: Kishen Maloor <kishen.maloor@intel.com>
10 years agoMerge "Fixed usages of strtok to use strtok_r instead"
sudarshan prasad [Wed, 17 Dec 2014 00:24:49 +0000 (16:24 -0800)]
Merge "Fixed usages of strtok to use strtok_r instead"

10 years agoMerge "Fixed OCCreateResource return type when empty URI is passed"
sudarshan prasad [Tue, 16 Dec 2014 22:57:21 +0000 (14:57 -0800)]
Merge "Fixed OCCreateResource return type when empty URI is passed"

10 years agoMerge "Improve Buffer Size in occoaphelper"
sudarshan prasad [Tue, 16 Dec 2014 22:55:27 +0000 (14:55 -0800)]
Merge "Improve Buffer Size in occoaphelper"

10 years agoMerge "Fixed server crash on empty client payload"
sudarshan prasad [Tue, 16 Dec 2014 22:11:41 +0000 (14:11 -0800)]
Merge "Fixed server crash on empty client payload"

10 years agoFixed compile error on 'empty' in OCRepresentation.cpp
Erich Keane [Tue, 16 Dec 2014 18:30:31 +0000 (10:30 -0800)]
Fixed compile error on 'empty' in OCRepresentation.cpp

The patch for fixing the 'empty' representation object issue
was incorrectly manually merged when it (review 633) was split from
the previous C++ unit test review.

Change-Id: Ib732e5dfcda6a6d34d072d5d93c363fd731912f6
Signed-off-by: Erich Keane <erich.keane@intel.com>
10 years agoMerge "Fixed UnitTest crash when getting JSON from blank object"
sudarshan prasad [Tue, 16 Dec 2014 18:11:36 +0000 (10:11 -0800)]
Merge "Fixed UnitTest crash when getting JSON from blank object"

10 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>
10 years agoFixed warning about incorrect initializer.
Erich Keane [Thu, 11 Dec 2014 22:10:16 +0000 (14:10 -0800)]
Fixed warning about incorrect initializer.

The ip_mreq initialization was generating a warning.  This
corrects the initializer to properly initialize it as far as
the compiler is concerned.

Change-Id: Iea663e7d198dd23f7e9f6ae1050e12d9017db053
Signed-off-by: Erich Keane <erich.keane@intel.com>
10 years agoImprove Buffer Size in occoaphelper
omkar [Wed, 10 Dec 2014 00:57:23 +0000 (16:57 -0800)]
Improve Buffer Size in occoaphelper

Previously, we had the BUF_SIZE set at 64. Changing it to be the
greater of MAX_URI_LENGTH and MAX_QUERY_LENGTH. So, if max length
needs to change, we need to change it only in ocstackconfig.

Change-Id: I18aeca83f82932896424d38389a872b581859860
Signed-off-by: omkar <omkar.m.hegde@intel.com>
10 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>
10 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."

10 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"

10 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>
10 years agoMerge "[SSM] Fix build script"
Uze Choi [Mon, 15 Dec 2014 04:12:56 +0000 (20:12 -0800)]
Merge "[SSM] Fix build script"

10 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"

10 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"

10 years agoFixed OCCreateResource return type when empty URI is passed
Yuliya Kamatkova [Fri, 12 Dec 2014 17:59:53 +0000 (12:59 -0500)]
Fixed OCCreateResource return type when empty URI is passed

Defect IOT-109: OCCreateResource in the C SDK previously allowed empty URI.

The defect was fixed: OCCreateResource returns error status OC_STACK_INVALID_URI
if empty URI string is passed

Note: There are other places in code where only NULL check is performed
for URIs however empty string check is not performed.

Change-Id: Ia23fd2be20677614f267c73160ebefc56a5e6d71
Signed-off-by: Yuliya Kamatkova <yuliya.kamatkova@intel.com>
10 years agoAdded code to send close_notify alert when OC stack shuts down.
Sachin Agrawal [Fri, 12 Dec 2014 17:17:24 +0000 (09:17 -0800)]
Added code to send close_notify alert when OC stack shuts down.

When peers receive close_notify alert they clean up the DTLS
session state.

Change-Id: I56efabc3d73a428406cd0c1d5796f762d57f5089
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com>
10 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>
10 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>
10 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>
10 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>
10 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>
10 years agoFixed usages of strtok to use strtok_r instead
Erich Keane [Thu, 11 Dec 2014 19:37:33 +0000 (11:37 -0800)]
Fixed usages of strtok to use strtok_r instead

strtok is not thread safe and has a global state variable that
have serious side effects.  If any consumer of ours was to use
threads and strtok they could very easily corrupt the state on us
(or us on them!).  This fix replaces it with the non-side effect
POSIX version, which is strtok_r.  Note that in occollection.c
we are already using strtok_r.

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

10 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."

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

10 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>
10 years agoFixed UnitTest crash when getting JSON from blank object
Erich Keane [Wed, 10 Dec 2014 21:52:15 +0000 (13:52 -0800)]
Fixed UnitTest crash when getting JSON from blank object

Generating a JSON representation from a blank object is an error
condition, so we were crashing.  The unit tests validated this
situation, so this fix returns the correct value in that situation.

Additionally corrected a comment highlighted in a previous review.

Change-Id: I113bf0ad53bb939d90278928257ff7b56aa4959b
Signed-off-by: Erich Keane <erich.keane@intel.com>
10 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"

10 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>
10 years agoFixed server crash on empty client payload
Erich Keane [Tue, 9 Dec 2014 23:05:10 +0000 (15:05 -0800)]
Fixed server crash on empty client payload

Server would crash if given a blank string, so this will prevent
that from happening.  The resource request won't contain resources,
since it wasn't sent any, but that is a valid condition

Change-Id: I04a8ebbe0174f1025d924503ac66fad6c37e0582
Signed-off-by: Erich Keane <erich.keane@intel.com>
10 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

10 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)"

10 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"

10 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"

10 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>
10 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>
10 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>
10 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>
10 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"

10 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"

10 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"

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

10 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>
10 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>
10 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>
10 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

10 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."

10 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>
10 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."

10 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"

10 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"

10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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."

10 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>
10 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>
10 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>
10 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"

10 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>
10 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"

10 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"

10 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>
10 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>
10 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."

10 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"

10 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>
10 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."

10 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"

10 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>
10 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>
10 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>
10 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>
10 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"