Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
edcclient
edctest
org.eclipse.paho.mqtt.c
os/wince
protobuf
EDC.sln
build.sh
readme

readme

====================================================
EDC C++ Cloud Client for Linux and Windows platforms
====================================================

=Content=

This folder contains all the necessary source code to build an EDC C++ Cloud 
Client for Linux and Windows platforms:

[org.eclipse.paho.mqtt.c]
[protobuf]
[edcclient]
[edctest]
[os]
build.sh
EDC.sln
readme

* org.eclipse.paho.mqtt.c folder

  Includes the C MQtt client from the eclipse pajo project. The original code is 
  hosted on a git repository you can browse on:
  http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.c.git.
  
  In order to obtain the most up to date version you need to run:
   
  git clone git://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.c.git
  
  To obtain the snapshot included in this package you need to run:
  
  git clone git://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.c.git
  git checkout sha 331190944e874d4bd48712c50e8d3cfb483f6479
  
* protobuf folder
  
  Includes the source code to handle google protocol buffers (see
  http://code.google.com/p/protobuf/). The original code is hosted on a git 
  repository you can browse on: http://protobuf.googlecode.com/svn/trunk/.

  In order to obtain the most up to date version you need to run:
   
  svn checkout http://protobuf.googlecode.com/svn/trunk/
  
  To obtain the tag included in this package you need to run:
  
  svn checkout http://protobuf.googlecode.com/svn/tags/2.4.1/
  
  or you can downloaded it from
  http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.tar.gz.

* os folder

  Contains os-specific files. 
  It is currently used only by Windows CE.

* edcclient folder

  Contains the EDC C++ Cloud Client implementation (EdcCloudClient.h) and the 
  files generated by the google protocol buffers compiler from the EdcPayload 
  message defined in edcpayload.proto. The EDC C++ Cloud Client implementation
  is documented in EDC\edcclient\doxygen
  
* edctest folder
  
  Contains a simple test application which connects to the cloud and publishes
  a sample payload. The application subscribes to the root account topic thus
  it will receive everything it publishes. The application uses some hardcoded
  credentials which you may need to change appropriately (see code comments).
 
  
=Building and running the EDC C++ Cloud Client=

Under Linux you need to run the top level build.sh shell script which will 
compile and link all the code using GCC. To run the sample application you need
to run EDC\edctest\run.sh shell script.

Under Windows NT based system you need Visual Studio 2005 or higher: open the
EDC.sln VS2005 solution file and rebuild it. The application executable will be
placed in the 'debug' or 'release' folder according to the build configuration
you select. 
 
For Windows CE you need a development pc with Visual Studio 2005 SP1 and the 
standard SDK for Windows CE 5.0 installed. The SDK can be downloaded from
http://www.microsoft.com/en-us/download/details.aspx?id=17310
The os\wince\projects directory includes two "Smart Device" project files, 
one for standard x86 target and one for ARM. The demo executable will be 
placed under edctest\standardsdk_500, the required mqtt client dll will be 
placed under org.eclipse.paho.mqtt.c\STANDARDSDK_500.

The current EDC C++ Cloud Client implementation is functionally equivalent to
the EDC Java Cloud Client since:

* It publishes the birth certificate after the connection to the broker and
  it publishes the disconnect certificate before disconnecting from the broker.
  
* It enforces the topic semantic as per EDC design

* It handles automatically the reconnection to the broker resubscribing to the
  topics previousy subscribed by the application (if the application itself does
  not hand in its own callback for 'connection lost')
  
* It handles google protocol buffers

* It supports client and device profile configuration data loading from property
  file

Missing features: 

* Some overload methods for publish and subscribe