From 2818b8516a8261787ecb184f36f892aa764a42ff Mon Sep 17 00:00:00 2001 From: iluican Date: Wed, 23 Sep 2015 10:28:12 -0700 Subject: [PATCH 1/4] Fixed Windows paho build. --- c/build_all/windows/build_paho.cmd | 1 - 1 file changed, 1 deletion(-) diff --git a/c/build_all/windows/build_paho.cmd b/c/build_all/windows/build_paho.cmd index 00164d2d..96311c61 100644 --- a/c/build_all/windows/build_paho.cmd +++ b/c/build_all/windows/build_paho.cmd @@ -105,7 +105,6 @@ rem ---------------------------------------------------------------------------- pushd %paho-build-root% if exist "%programfiles(x86)%\MSBuild\14.0\\." ( -( msbuild ".\Windows Build\paho-mqtt3cs\paho-mqtt3cs.vcxproj" /p:Configuration=Debug;PlatformToolset=v140 goto paho_build_done ) From d8dd8fab1d57d2e54d7cdf972ded7a91b3b44bee Mon Sep 17 00:00:00 2001 From: iluican Date: Wed, 23 Sep 2015 10:28:12 -0700 Subject: [PATCH 2/4] Fixed Windows paho build. --- c/build_all/windows/build_paho.cmd | 1 - 1 file changed, 1 deletion(-) diff --git a/c/build_all/windows/build_paho.cmd b/c/build_all/windows/build_paho.cmd index 00164d2d..96311c61 100644 --- a/c/build_all/windows/build_paho.cmd +++ b/c/build_all/windows/build_paho.cmd @@ -105,7 +105,6 @@ rem ---------------------------------------------------------------------------- pushd %paho-build-root% if exist "%programfiles(x86)%\MSBuild\14.0\\." ( -( msbuild ".\Windows Build\paho-mqtt3cs\paho-mqtt3cs.vcxproj" /p:Configuration=Debug;PlatformToolset=v140 goto paho_build_done ) From 16db009e1f806996927f2d60128b4bf4e0374093 Mon Sep 17 00:00:00 2001 From: Rajasekharan Vengalil Date: Wed, 23 Sep 2015 11:13:16 -0700 Subject: [PATCH 3/4] Update API docs for Node.js device library This commit moves the generated documentation files for the Node.js device library to node/device/doc/api_reference. It also includes changes to the document generation batch file to require installation of `jsdoc` on the PC a pre-requisite. --- build/docs/gen_jsdocs.cmd | 12 +- build/docs/iot-doc-template/publish.js | 2 +- ...jsdoc.conf.json => jsdoc-device.conf.json} | 15 +- build/docs/node-main-page-device.md | 9 + build/docs/node-main-page.md | 15 - build/gen_docs.cmd | 4 +- .../common_authorization.js.html | 198 -- .../common_properties.js.html | 112 - .../1.0.0-preview.1.0.0/index.html | 75 - .../1.0.0-preview.1.0.0/iothub.js.html | 76 - .../module-adapters_https-Https.html | 2090 ----------------- .../module-adapters_https.html | 170 -- ...dule-common_authorization-DeviceToken.html | 379 --- ...ule-common_authorization-ServiceToken.html | 375 --- .../module-common_authorization-Token.html | 284 --- .../module-common_authorization.html | 184 -- .../module-common_message.html | 176 -- .../module-common_properties-Properties.html | 442 ---- .../module-common_properties.html | 166 -- .../module-device_client.html | 178 -- .../1.0.0-preview.1.0.0/module-iothub.html | 162 -- .../module-service_registry.html | 172 -- .../service_registry.js.html | 247 -- node/common/lib/https.js | 130 - node/common/lib/message.js | 15 - node/device/Jakefile | 2 +- node/device/device.js | 38 + .../doc/api_reference/Client.html} | 38 +- .../doc/api_reference/Https.html} | 775 +++--- .../doc/api_reference/Message.html} | 18 +- .../api_reference/common_lib_https.js.html} | 144 +- .../api_reference/common_lib_message.js.html} | 23 +- .../doc/api_reference/device_device.js.html | 98 + .../api_reference/device_lib_client.js.html} | 46 +- .../fonts/OpenSans-Bold-webfont.eot | Bin .../fonts/OpenSans-Bold-webfont.svg | 0 .../fonts/OpenSans-Bold-webfont.woff | Bin .../fonts/OpenSans-BoldItalic-webfont.eot | Bin .../fonts/OpenSans-BoldItalic-webfont.svg | 0 .../fonts/OpenSans-BoldItalic-webfont.woff | Bin .../fonts/OpenSans-Italic-webfont.eot | Bin .../fonts/OpenSans-Italic-webfont.svg | 0 .../fonts/OpenSans-Italic-webfont.woff | Bin .../fonts/OpenSans-Light-webfont.eot | Bin .../fonts/OpenSans-Light-webfont.svg | 0 .../fonts/OpenSans-Light-webfont.woff | Bin .../fonts/OpenSans-LightItalic-webfont.eot | Bin .../fonts/OpenSans-LightItalic-webfont.svg | 0 .../fonts/OpenSans-LightItalic-webfont.woff | Bin .../fonts/OpenSans-Regular-webfont.eot | Bin .../fonts/OpenSans-Regular-webfont.svg | 0 .../fonts/OpenSans-Regular-webfont.woff | Bin node/device/doc/api_reference/index.html | 67 + .../module-azure-iot-device.html | 165 ++ .../doc/api_reference}/scripts/linenumber.js | 0 .../scripts/prettify/Apache-License-2.0.txt | 0 .../scripts/prettify/lang-css.js | 0 .../scripts/prettify/prettify.js | 0 .../api_reference}/styles/jsdoc-default.css | 0 .../api_reference}/styles/prettify-jsdoc.css | 0 .../styles/prettify-tomorrow.css | 0 node/device/lib/client.js | 38 - node/service/Jakefile | 2 +- 63 files changed, 828 insertions(+), 6314 deletions(-) rename build/docs/{jsdoc.conf.json => jsdoc-device.conf.json} (61%) create mode 100644 build/docs/node-main-page-device.md delete mode 100644 build/docs/node-main-page.md delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_authorization.js.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_properties.js.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/index.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/iothub.js.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https-Https.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-DeviceToken.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-ServiceToken.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-Token.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties-Properties.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-iothub.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry.html delete mode 100644 node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/service_registry.js.html rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client-Client.html => device/doc/api_reference/Client.html} (83%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry-Registry.html => device/doc/api_reference/Https.html} (50%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message-Message.html => device/doc/api_reference/Message.html} (80%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/adapters_https.js.html => device/doc/api_reference/common_lib_https.js.html} (79%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_message.js.html => device/doc/api_reference/common_lib_message.js.html} (72%) create mode 100644 node/device/doc/api_reference/device_device.js.html rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/device_client.js.html => device/doc/api_reference/device_lib_client.js.html} (77%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Bold-webfont.eot (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Bold-webfont.svg (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Bold-webfont.woff (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-BoldItalic-webfont.eot (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-BoldItalic-webfont.svg (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-BoldItalic-webfont.woff (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Italic-webfont.eot (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Italic-webfont.svg (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Italic-webfont.woff (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Light-webfont.eot (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Light-webfont.svg (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Light-webfont.woff (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-LightItalic-webfont.eot (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-LightItalic-webfont.svg (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-LightItalic-webfont.woff (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Regular-webfont.eot (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Regular-webfont.svg (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/fonts/OpenSans-Regular-webfont.woff (100%) create mode 100644 node/device/doc/api_reference/index.html create mode 100644 node/device/doc/api_reference/module-azure-iot-device.html rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/scripts/linenumber.js (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/scripts/prettify/Apache-License-2.0.txt (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/scripts/prettify/lang-css.js (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/scripts/prettify/prettify.js (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/styles/jsdoc-default.css (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/styles/prettify-jsdoc.css (100%) rename node/{apidocs/azure-iot-sdk/1.0.0-preview.1.0.0 => device/doc/api_reference}/styles/prettify-tomorrow.css (100%) diff --git a/build/docs/gen_jsdocs.cmd b/build/docs/gen_jsdocs.cmd index fdb8e1a1..44a89a23 100644 --- a/build/docs/gen_jsdocs.cmd +++ b/build/docs/gen_jsdocs.cmd @@ -8,12 +8,10 @@ set build-root=%~dp0..\.. cd %build-root%\node rem ----------------------------------------------------------------------------- -rem -- Generate JS docs +rem -- Generate device JS docs rem ----------------------------------------------------------------------------- -set jsdoc=node_modules\.bin\jsdoc.cmd -if not exist %jsdoc% ( - echo "jsdoc" was not found. Please make sure you've run "npm install" in %build-root%\node. - exit /b 1 -) +set doc-target-dir=%build-root%\node\device\doc\api_reference +if exist %doc-target-dir% rd /s /q %doc-target-dir% +mkdir %doc-target-dir% +jsdoc -c ..\build\docs\jsdoc-device.conf.json -d %doc-target-dir% -%jsdoc% -c ..\build\docs\jsdoc.conf.json -d apidocs \ No newline at end of file diff --git a/build/docs/iot-doc-template/publish.js b/build/docs/iot-doc-template/publish.js index a0738ddc..18da2f72 100644 --- a/build/docs/iot-doc-template/publish.js +++ b/build/docs/iot-doc-template/publish.js @@ -571,7 +571,7 @@ exports.publish = function(taffyData, opts, tutorials) { var files = find({kind: 'file'}), packages = find({kind: 'package'}); - generate('Microsoft Azure IoT SDK for Node.js', + generate('Microsoft Azure IoT Device SDK for Node.js', packages.concat( [{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}] ).concat(files), diff --git a/build/docs/jsdoc.conf.json b/build/docs/jsdoc-device.conf.json similarity index 61% rename from build/docs/jsdoc.conf.json rename to build/docs/jsdoc-device.conf.json index 360c1c36..aea39447 100644 --- a/build/docs/jsdoc.conf.json +++ b/build/docs/jsdoc-device.conf.json @@ -5,15 +5,12 @@ }, "source": { "include": [ - "package.json", - "../build/docs/node-main-page.md", - "src/iothub.js", - "src/common/message.js", - "src/common/properties.js", - "src/common/authorization.js", - "src/device/client.js", - "src/adapters/https.js", - "src/service/registry.js" + "../build/docs/node-main-page-device.md", + "common/common.js", + "common/lib/message.js", + "common/lib/https.js", + "device/device.js", + "device/lib/client.js" ], "includePattern": ".+\\.js(doc)?$", "excludePattern": "(^|\\/|\\\\)_" diff --git a/build/docs/node-main-page-device.md b/build/docs/node-main-page-device.md new file mode 100644 index 00000000..a4f2e3e3 --- /dev/null +++ b/build/docs/node-main-page-device.md @@ -0,0 +1,9 @@ +The Microsoft Azure IoT Device library for Node.js contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services. + +## Features + +Device library +* Sends event data to an IoT Hub, in batches or individually. +* Receives messages from an IoT Hub. +* Uses HTTPS to communicate with IoT Hubs. AMQPS support is coming soon. + diff --git a/build/docs/node-main-page.md b/build/docs/node-main-page.md deleted file mode 100644 index 09510c7c..00000000 --- a/build/docs/node-main-page.md +++ /dev/null @@ -1,15 +0,0 @@ -The Microsoft Azure IoT device libraries for Node.js contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services. The libraries also include code to manage your IoT Hub service. - -## Features - -Device libraries -* Sends event data to Azure IoT based services. -* Maps server commands to device functions. -* Buffers data when network connection is down. -* Batches messages to improve communication efficiency. -* Supports pluggable transport protocols. HTTP and AMQP protocols are available now, with more coming soon. -* Supports pluggable serialization methods. JSON is available now, with more coming soon. - -Service libraries -* A service client you can use to send cloud-to-device commands from IoT Hub to your devices. -* A registry manager that you can use to manage the contents of the IoT Hub device identity registry. diff --git a/build/gen_docs.cmd b/build/gen_docs.cmd index bd885624..40992a82 100644 --- a/build/gen_docs.cmd +++ b/build/gen_docs.cmd @@ -10,7 +10,7 @@ cd %build-root%\build\docs rem ----------------------------------------------------------------------------- rem -- Check for environment pre-requisites. This script requires rem -- that the following programs work: -rem -- doxygen, git, node, javadoc, mvn +rem -- doxygen, git, node, javadoc, mvn, jsdoc rem ----------------------------------------------------------------------------- call :checkExists git if not %errorlevel%==0 exit /b %errorlevel% @@ -24,6 +24,8 @@ call :checkExists javadoc if not %errorlevel%==0 exit /b %errorlevel% call :checkExists mvn if not %errorlevel%==0 exit /b %errorlevel% +call :checkExists jsdoc +if not %errorlevel%==0 exit /b %errorlevel% rem ----------------------------------------------------------------------------- rem -- Generate C API docs diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_authorization.js.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_authorization.js.html deleted file mode 100644 index 7cb46cda..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_authorization.js.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - JSDoc: Source: common/authorization.js - - - - - - - - - - -
-

Source: common/authorization.js

- - - - - -
-
-
// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-/**
- * Functions in the authorization module are used to generate shared-access
- * signature (SAS) tokens, which can be inserted into the `Authorization`
- * header of HTTP requests to Azure IoT Hub.
- *
- * @example
- * var auth = require('./src/common/authorization');
- *
- * var token = new auth.DeviceToken('hostname', deviceId, deviceKey, oneHourFromNow());
- * console.log(token.toString());
- *
- * token = new auth.ServiceToken('hostname', policyName, policyKey, oneHourFromNow());
- * console.log(token.toString());
- *
- * @module common/authorization
- * @see {@link https://msdn.microsoft.com/en-us/library/azure/dn170477.aspx|Shared Access Signature Authentication with Service Bus}
- */
-
-'use strict';
-
-var internal = require('./authorization_internals');
-
-/**
- * @class Token
- * @classdesc Constructs a `Token` object.
- * @param {String}  resourceUri   The resource URI to encode into the token
- * @param {String}  keyName       An identifier associated with the key
- * @param {String}  key           A base64-encoded key value
- * @param {String}  expiry        An integer value representing the number
- *                                of seconds since the epoch 00:00:00 UTC
- *                                on 1 January 1970.
- */
-/*Codes_SRS_NODE_COMMON_AUTHORIZATION_05_001: [The Token constructor shall accept four arguments:
-resourceUri - the resource URI to encode into the token
-keyName - an identifier associated with the key 
-key - a base64-encoded key value
-expiry - an integer value representing the number of seconds since the epoch 00:00:00 UTC on 1 January 1970.]*/
-function Token(resourceUri, keyName, key, expiry) {
-
-  /*Codes_SRS_NODE_COMMON_AUTHORIZATION_05_003: [The toString method shall return a shared-access signature token of the form:
-  SharedAccessSignature sr=<resourceUri>&sig=<urlEncodedSignature>&se=<expiry>&skn=<urlEncodedKeyName>]*/
-  this.toString = function () {
-    var hash = internal.hmacHash(key, internal.stringToSign(resourceUri, expiry));
-    return 'SharedAccessSignature ' +
-      'sr=' + resourceUri +
-      '&sig=' + internal.encodeUriComponentStrict(hash) +
-      '&se=' + expiry +
-      '&skn=' + internal.encodeUriComponentStrict(keyName);
-  };
-  
-  function throwRef(name, value) {
-    throw new ReferenceError('Argument \'' + name + '\' is ' + value);
-  }
-
-  /*Codes_SRS_NODE_COMMON_AUTHORIZATION_05_002: [If resourceUri, key, or expiry are falsy (i.e., undefined, null, or empty), the Token constructor shall throw a reference exception.]  Note that keyName may be falsy.*/
-  if (!resourceUri) throwRef('resourceUri', resourceUri);
-  if (!key) throwRef('key', key);
-  if (!expiry) throwRef('expiry', expiry);
-  /*Codes_SRS_NODE_COMMON_AUTHORIZATION_05_008: [If the keyName argument to the Token constructor was falsy, <urlEncodedKeyName> shall be empty.]*/
-  keyName = keyName || '';
-}
-
-/**
- * @class DeviceToken
- * @classdesc The `DeviceToken` constructor function returns a token object
- *            that is suitable for device operations such as sending events
- *            or receiving messages. This constructor delegates to the
- *            {@linkcode Token} constructor.
- * @param {String}  host       The host part of the resource URI to encode
- *                             into the token
- * @param {String}  deviceId   The device identifier. This is URI encoded and
- *                             combined with `host` parameter and passed as the
- *                             `resourceUri` parameter to the `Token`
- *                             constructor like so:
- *                                 `<host>/devices/<uri encoded device id>`
- * @param {String}  key        A base64-encoded key value
- * @param {String}  expiry     An integer value representing the number
- *                             of seconds since the epoch 00:00:00 UTC
- *                             on 1 January 1970.
- */
-/*Codes_SRS_NODE_COMMON_AUTHORIZATION_05_009: [DeviceToken shall return an object created as if by passing the following arguments to the Token constructor:
-resourceUri - <host>/devices/<urlEncodedDeviceId>
-keyName - null
-key - <key>
-expiry - <expiry>]*/
-function DeviceToken(host, deviceId, key, expiry) {
-  var uri = internal.deviceResourceUri(host, deviceId);
-  Token.call(this, uri, null, key, expiry);
-}
-
-DeviceToken.prototype = Object.create(Token.prototype);
-DeviceToken.prototype.constructor = DeviceToken;
-
-/**
- * The `toString` method returns a shared-access signature token of the form:
- * ```
- * SharedAccessSignature sr=<resourceUri>&sig=<urlEncodedSignature>&se=<expiry>&skn=<urlEncodedKeyName>
- * ```
- */
-DeviceToken.prototype.toString = function toString() {
-  Token.prototype.toString.call(this);
-};
-
-/**
- * @class ServiceToken
- * @classdesc The `ServiceToken` constructor function returns a token object
- *            that is suitable for service operations such as adding, removing,
- *            updating or reading device identities, or sending messages. This
- *            constructor delegates to the {@linkcode Token} constructor.
- * @param {String}  host       Used as the resource URI to encode into the
- *                             token
- * @param {String}  policy     An identifier associated with the key
- * @param {String}  key        A base64-encoded key value
- * @param {String}  expiry     An integer value representing the number
- *                             of seconds since the epoch 00:00:00 UTC
- *                             on 1 January 1970.
- */
-/*Codes_SRS_NODE_COMMON_AUTHORIZATION_05_010: [ServiceToken shall return an object created as if by passing the following arguments to the Token constructor:
-resourceUri - <host>
-keyName - <policy>
-key - <key>
-expiry - <expiry>]*/
-function ServiceToken(host, policy, key, expiry) {
-  var uri = internal.serviceResourceUri(host);
-  Token.call(this, uri, policy, key, expiry);
-}
-
-ServiceToken.prototype = Object.create(Token.prototype);
-ServiceToken.prototype.constructor = ServiceToken;
-
-/**
- * The `toString` method returns a shared-access signature token of the form:
- * ```
- * SharedAccessSignature sr=<resourceUri>&sig=<urlEncodedSignature>&se=<expiry>&skn=<urlEncodedKeyName>
- * ```
- */
-ServiceToken.prototype.toString = function toString() {
-  Token.prototype.toString.call(this);
-};
-
-
-module.exports = {
-  Token: Token,
-  DeviceToken: DeviceToken,
-  ServiceToken: ServiceToken
-};
-
-
-
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_properties.js.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_properties.js.html deleted file mode 100644 index 2a25e3d7..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_properties.js.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - JSDoc: Source: common/properties.js - - - - - - - - - - -
-

Source: common/properties.js

- - - - - -
-
-
// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-/**
- * The `properties` module exports the {@linkcode Properties} class which
- * is a collection type that allows you to store a collection of user
- * defined properties.
- *
- * @module common/properties
- */
-
-'use strict';
-
-/**
- * @class Properties
- * @classdesc Collection of user defined properties. Values can only be
- *            strings.
- */
-var Properties = function () {
-  this.propertyList = [];
-};
-
-/**
- * Adds the key-value pair to the collection. The strings `'Authorization'`
- * and `'iothub-to'` are considered as reserved key names and will cause the
- * function to return `false` if those key names are used. Prefixes the
- * string `'iothub-app-'` to the key before adding it to the collection.
- */
-/* Code_SRS_NODE_IOTHUB_PROPERTIES_07_003: [The getData function shall return a string representation of the body of the message.] */
-Properties.prototype.add = function(itemKey, itemValue) {
-  /* Code_SRS_NODE_IOTHUB_PROPERTIES_07_004: [If itemKey contains any of the reserved key names then the add function will return false] */
-  if (itemKey === 'Authorization' || itemKey === 'iothub-to') {
-    return false;
-  }
-  else {
-    var objProperty = {key:'iothub-app-'+itemKey, value:itemValue};
-    this.propertyList.push(objProperty);
-    return true;
-  }
-};
-
-/**
- * Returns the key-value pair corresponding to the given index.
- * @returns {Object}  Key-value pair corresponding to the given index. The
- *                    returned object has the properties `key` and `value`
- *                    corresponding to the key and value of the property.
- */
-/* Code_SRS_NODE_IOTHUB_PROPERTIES_07_001: [if the supplied index is greater or equal to zero and the is less than property map length then it shall return the property object.] */
-Properties.prototype.getItem = function(index) {
-  if (index >= 0 && index < this.propertyList.length)
-      return this.propertyList[index];
-  return undefined;
-};
-
-/**
- * Returns the number of items in the collection.
- */
-/* Code_SRS_NODE_IOTHUB_PROPERTIES_07_002: [Properties.Count shall return the number of items in the Properties map.] */
-Properties.prototype.count = function() {
-  return this.propertyList.length;
-};
-
-
-module.exports = Properties;
-
-
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/index.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/index.html deleted file mode 100644 index 70d81c25..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - JSDoc: Microsoft Azure IoT SDK for Node.js - - - - - - - - - - -
-

Microsoft Azure IoT SDK for Node.js

- - - - - - - - - - - - - - - - - -
-

The Microsoft Azure IoT device libraries for Node.js contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services. The libraries also include code to manage your IoT Hub service.

-

Features

Device libraries

-
    -
  • Sends event data to Azure IoT based services.
  • -
  • Maps server commands to device functions.
  • -
  • Buffers data when network connection is down.
  • -
  • Batches messages to improve communication efficiency.
  • -
  • Supports pluggable transport protocols. HTTP and AMQP protocols are available now, with more coming soon.
  • -
  • Supports pluggable serialization methods. JSON is available now, with more coming soon.
  • -
-

Service libraries

-
    -
  • A service client you can use to send cloud-to-device commands from IoT Hub to your devices.
  • -
  • A registry manager that you can use to manage the contents of the IoT Hub device identity registry.
  • -
-
- - - - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/iothub.js.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/iothub.js.html deleted file mode 100644 index 683c97db..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/iothub.js.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - JSDoc: Source: iothub.js - - - - - - - - - - -
-

Source: iothub.js

- - - - - -
-
-
// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-/**
- * The `iothub` module provides exports for the following sub-modules:
- * - [common/message]{@link module:common/message}
- * - [device/client]{@link module:device/client}
- * - [service/registry]{@link module:service/registry}
- *
- * @module iothub
- */
-
-'use strict';
-
-module.exports = {
-
-  Message: require('./common/message'),
-
-  device: {
-    Client: require('./device/client')
-  },
-
-  service: {
-    Device: require('./service/device'),
-    Registry: require('./service/registry')
-  }
-
-};
-
-
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https-Https.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https-Https.html deleted file mode 100644 index 893a151d..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https-Https.html +++ /dev/null @@ -1,2090 +0,0 @@ - - - - - JSDoc: Class: Https - - - - - - - - - - -
-

Class: Https

- - - - - -
- -
- -

- adapters/https~ - - Https -

- -

Constructs an Https object.

- - -
- -
-
- - - - -

Constructor

- - -

new Https()

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -

Methods

- - - - - - -

createDevice(path, deviceInfo, config, done)

- - - - - -
-

Creates an IoT Hub device.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
path - - -String - - - -

The HTTP URL to send the request to

deviceInfo - - -String - - - -

Device metadata serialized as JSON

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - createDevice completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

deleteDevice(path, config, done)

- - - - - -
-

This method removes a device with the given ID.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
path - - -String - - - -

The HTTP URL to send the request to

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - deleteDevice completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

getDevice(path, config, done)

- - - - - -
-

This method requests metadata (in the form of a Device object) about the -device with the given ID.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
path - - -String - - - -

The HTTP URL to send the request to

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - getDevice completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

listDevice(path, config, done)

- - - - - -
-

This method requests metadata (in the form of a Device object) for the top -1000 devices in the system.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
path - - -String - - - -

The HTTP URL to send the request to

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - listDevice completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

receive(config, done)

- - - - - -
-

The receive method queries the IoT Hub (as the device indicated in the -config parameter) for the next notification in the queue.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - receive completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

sendEvent(message, config, done)

- - - - - -
-

This method sends an event to the IoT Hub as the device indicated in the -config parameter.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
message - - -Message - - - -

The message - to be sent.

config - - -Object - - - -

This is a dictionary containing the following keys - and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when sendEvent - completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

sendEventBatch(messages, config, done)

- - - - - -
-

The sendEventBatch method sends a list of event messages to the IoT Hub -as the device indicated in the config parameter.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
messages - - -array.<Message> - - - -

Array of Message - objects to be sent as a batch.

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - sendEventBatch completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

sendFeedback(action, lockToken, config, done)

- - - - - -
-

This method sends the feedback action to the IoT Hub.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
action - - -String - - - -

This parameter must be equal to one of the - following possible values:

- - - - - - - - - - - - - - - - - - - - - -
ValueAction
abandonDirects the IoT Hub to re-enqueue a notification message so it may be received again later.
rejectDirects the IoT Hub to delete a notification message from the queue and record that it was rejected.
completeDirects the IoT Hub to delete a notification message from the queue and record that it was accepted.
lockToken - - -String - - - -

An HTTP E-Tag used to manage concurrent updates - to the device

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - sendFeedback completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

updateDevice(path, deviceInfo, config, done)

- - - - - -
-

Updates an IoT Hub device.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
path - - -String - - - -

The HTTP URL to send the request to

deviceInfo - - -String - - - -

Device metadata serialized as JSON

config - - -Object - - - -

This is a dictionary containing the - following keys and values:

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done - - -function - - - -

The callback to be invoked when - updateDevice completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https.html deleted file mode 100644 index 91aa2e5c..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-adapters_https.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - JSDoc: Module: adapters/https - - - - - - - - - - -
-

Module: adapters/https

- - - - - -
- -
- - - - - -
- -
-
- - -

The https module provides transport functionality for applications that -want to communicate with an Azure IoT Hub.

- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Example
- -
'use strict';
var Https = require('./src/iothub_https').Https;
var Message = require('./src/iothub').Message;

function print(err, res) {
  if (err) console.log(err.toString());
  if (res) console.log(res.statusCode + ' ' + res.statusMessage);
}

var deviceConfig = {
  host: 'hostname',
  keyName: 'deviceId',
  key: 'deviceKey'
};

var devHttps = new Https(deviceConfig);

devHttps.sendEvent(new Message('hello world'), print);

devHttps.receive(function (err, res, msg) {
  print(err, res);
  if (msg) console.log('Message: ' + msg);
  if (!err && res.statusCode !== 204) {
    devHttps.sendFeedback('complete', msg.lockToken, print);
  }
});

var serviceConfig = {
  host: 'hostname',
  keyName: 'policy',
  key: 'policyKey'
};

var svcHttps = new Https(config);

svcHttps.getDevice('deviceId', function (err, res, dev) {
  print(err, res);
  if (!err) {
    console.log(dev.id);
  }
});
- - - - - -
- - - - - - -

Classes

- -
-
Https
-
-
- - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-DeviceToken.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-DeviceToken.html deleted file mode 100644 index 5c63d2f9..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-DeviceToken.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - JSDoc: Class: DeviceToken - - - - - - - - - - -
-

Class: DeviceToken

- - - - - -
- -
- -

- common/authorization~ - - DeviceToken -

- -

The DeviceToken constructor function returns a token object - that is suitable for device operations such as sending events - or receiving messages. This constructor delegates to the - Token constructor.

- - -
- -
-
- - - - -

Constructor

- - -

new DeviceToken(host, deviceId, key, expiry)

- - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
host - - -String - - - -

The host part of the resource URI to encode - into the token

deviceId - - -String - - - -

The device identifier. This is URI encoded and - combined with host parameter and passed as the - resourceUri parameter to the Token - constructor like so: - <host>/devices/<uri encoded device id>

key - - -String - - - -

A base64-encoded key value

expiry - - -String - - - -

An integer value representing the number - of seconds since the epoch 00:00:00 UTC - on 1 January 1970.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -

Methods

- - - - - - -

toString()

- - - - - -
-

The toString method returns a shared-access signature token of the form:

-
SharedAccessSignature sr=<resourceUri>&sig=<urlEncodedSignature>&se=<expiry>&skn=<urlEncodedKeyName>
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-ServiceToken.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-ServiceToken.html deleted file mode 100644 index 433d5133..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-ServiceToken.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - JSDoc: Class: ServiceToken - - - - - - - - - - -
-

Class: ServiceToken

- - - - - -
- -
- -

- common/authorization~ - - ServiceToken -

- -

The ServiceToken constructor function returns a token object - that is suitable for service operations such as adding, removing, - updating or reading device identities, or sending messages. This - constructor delegates to the Token constructor.

- - -
- -
-
- - - - -

Constructor

- - -

new ServiceToken(host, policy, key, expiry)

- - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
host - - -String - - - -

Used as the resource URI to encode into the - token

policy - - -String - - - -

An identifier associated with the key

key - - -String - - - -

A base64-encoded key value

expiry - - -String - - - -

An integer value representing the number - of seconds since the epoch 00:00:00 UTC - on 1 January 1970.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -

Methods

- - - - - - -

toString()

- - - - - -
-

The toString method returns a shared-access signature token of the form:

-
SharedAccessSignature sr=<resourceUri>&sig=<urlEncodedSignature>&se=<expiry>&skn=<urlEncodedKeyName>
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-Token.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-Token.html deleted file mode 100644 index b384177b..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization-Token.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - JSDoc: Class: Token - - - - - - - - - - -
-

Class: Token

- - - - - -
- -
- -

- common/authorization~ - - Token -

- -

Constructs a Token object.

- - -
- -
-
- - - - -

Constructor

- - -

new Token(resourceUri, keyName, key, expiry)

- - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
resourceUri - - -String - - - -

The resource URI to encode into the token

keyName - - -String - - - -

An identifier associated with the key

key - - -String - - - -

A base64-encoded key value

expiry - - -String - - - -

An integer value representing the number - of seconds since the epoch 00:00:00 UTC - on 1 January 1970.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization.html deleted file mode 100644 index 35ee5b43..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_authorization.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - JSDoc: Module: common/authorization - - - - - - - - - - -
-

Module: common/authorization

- - - - - -
- -
- - - - - -
- -
-
- - -

Functions in the authorization module are used to generate shared-access -signature (SAS) tokens, which can be inserted into the Authorization -header of HTTP requests to Azure IoT Hub.

- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - -
See:
-
- -
- - - -
- - - - - - - - - - - - - - - -
Example
- -
var auth = require('./src/common/authorization');

var token = new auth.DeviceToken('hostname', deviceId, deviceKey, oneHourFromNow());
console.log(token.toString());

token = new auth.ServiceToken('hostname', policyName, policyKey, oneHourFromNow());
console.log(token.toString());
- - - - - -
- - - - - - -

Classes

- -
-
DeviceToken
-
- -
ServiceToken
-
- -
Token
-
-
- - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message.html deleted file mode 100644 index 4c540b93..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - JSDoc: Module: common/message - - - - - - - - - - -
-

Module: common/message

- - - - - -
- -
- - - - - -
- -
-
- - -

Exports the Message object that provides a container for message -content and properties travelling to and from an IoT Hub.

- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Example
- -
var Message = require('./src/iothub').Message;

var message = new Message('data to send');
message.properties.add('myProperty', 'my property value');
console.log('message content: ' + message.getData());
- - - - - -
- - - - -

Requires

- - - - - -

Classes

- -
-
Message
-
-
- - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties-Properties.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties-Properties.html deleted file mode 100644 index 3dbca580..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties-Properties.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - JSDoc: Class: Properties - - - - - - - - - - -
-

Class: Properties

- - - - - -
- -
- -

- common/properties~ - - Properties -

- -

Collection of user defined properties. Values can only be - strings.

- - -
- -
-
- - - - -

Constructor

- - -

new Properties()

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -

Methods

- - - - - - -

add()

- - - - - -
-

Adds the key-value pair to the collection. The strings 'Authorization' -and 'iothub-to' are considered as reserved key names and will cause the -function to return false if those key names are used. Prefixes the -string 'iothub-app-' to the key before adding it to the collection.

-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

count()

- - - - - -
-

Returns the number of items in the collection.

-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

getItem() → {Object}

- - - - - -
-

Returns the key-value pair corresponding to the given index.

-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Key-value pair corresponding to the given index. The - returned object has the properties key and value - corresponding to the key and value of the property.

-
- - - -
-
- Type -
-
- -Object - - -
-
- - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties.html deleted file mode 100644 index 2a388882..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_properties.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - JSDoc: Module: common/properties - - - - - - - - - - -
-

Module: common/properties

- - - - - -
- -
- - - - - -
- -
-
- - -

The properties module exports the Properties class which -is a collection type that allows you to store a collection of user -defined properties.

- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - -

Classes

- -
-
Properties
-
-
- - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client.html deleted file mode 100644 index ea71e2c8..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - JSDoc: Module: device/client - - - - - - - - - - -
-

Module: device/client

- - - - - -
- -
- - - - - -
- -
-
- - -

The client module provides a means for devices to send events to and -receive notifications from an Azure IoT Hub. The client handles -communication with the IoT Hub through a transport supplied by the caller -(e.g., Https).

- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Example
- -
var Client = require('./src/iothub').devices.Client;
var Message = require('./src/iothub').Message;
var Https = require('./src/iothub_https').Https;

function print(err, res) {
  if (err) console.log(err.toString());
  if (res) console.log(res.statusCode + ' ' + res.statusMessage);
}

var config = {
  host: 'hostname',
  keyName: 'deviceId',
  key: 'password'
};

var client = new Client(new Https(config));

client.sendEvent(new Message('hello world'), print);

client.receive (function (err, res, msg) {
  print(err, res);
  if (msg) console.log('Notification: ' + msg);
  if (!err && res.statusCode !== 204) {
    client.complete(msg, print);
  }
});
- - - - - -
- - - - -

Requires

- - - - - -

Classes

- -
-
Client
-
-
- - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-iothub.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-iothub.html deleted file mode 100644 index 37a32ec9..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-iothub.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - JSDoc: Module: iothub - - - - - - - - - - -
-

Module: iothub

- - - - - -
- -
- - - - - -
- -
-
- - -

The iothub module provides exports for the following sub-modules:

-
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry.html deleted file mode 100644 index 53fba177..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - JSDoc: Module: service/registry - - - - - - - - - - -
-

Module: service/registry

- - - - - -
- -
- - - - - -
- -
-
- - -

The Registry provides a means for clients to use the Azure IoT Hub device -identity service, known as the Registry. A consumer can add, remove, -update, or read device metadata from the Registry through the transport -supplied by the caller (e.g., Https).

- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Example
- -
'use strict';
var Registry = require('./src/iothub').service.Registry;
var Device = require('./src/iothub').service.Device;
var Https = require('./src/iothub_https').Https;

function print(err, res) {
  if (err) console.log(err.toString());
  if (res) console.log(res.statusCode + ' ' + res.statusMessage);
}

var connString = ‘Connection String’
var registry = new Registry(connString, new Https());

registry.get('deviceId', function (err, res, dev) {
  print(err, res);
  if (!err) console.log(dev.id);
});
- - - - - -
- - - - - - -

Classes

- -
-
Registry
-
-
- - - - - - - - - - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/service_registry.js.html b/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/service_registry.js.html deleted file mode 100644 index 741e7cfd..00000000 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/service_registry.js.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - JSDoc: Source: service/registry.js - - - - - - - - - - -
-

Source: service/registry.js

- - - - - -
-
-
// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-/**
- * The `Registry` provides a means for clients to use the Azure IoT Hub device
- * identity service, known as the *Registry*.  A consumer can add, remove,
- * update, or read device metadata from the Registry through the transport
- * supplied by the caller (e.g., [Https]{@linkcode module:adapters/https.Https}).
- *
- * @example
- * 'use strict';
- * var Registry = require('./src/iothub').service.Registry;
- * var Device = require('./src/iothub').service.Device;
- * var Https = require('./src/iothub_https').Https;
- *
- * function print(err, res) {
- *   if (err) console.log(err.toString());
- *   if (res) console.log(res.statusCode + ' ' + res.statusMessage);
- * }
- *
- * var connString = ‘Connection String’
- * var registry = new Registry(connString, new Https());
- *
- * registry.get('deviceId', function (err, res, dev) {
- *   print(err, res);
- *   if (!err) console.log(dev.id);
- * });
- *
- * @module service/registry
- */
-
-'use strict';
-
-var Device = require('./device');
-var Endpoint = require('../common/endpoint');
-
-var HOSTNAME_LEN = "HostName=".length;
-var SAKN_LEN = "SharedAccessKeyName=".length;
-var SAK_LEN = "SharedAccessKey=".length;
-
-function parseConnString(connString)
-{
-  var config = {
-    host: '',
-    hubName: '',
-    keyName: '',
-    key: ''
-  }; 
-  var configArray = connString.split(';');
-  configArray.forEach(function(element) {
-    var pos = element.indexOf("HostName=");
-    if (pos >= 0) {
-      config.host = element.substring(pos+HOSTNAME_LEN);
-      // Look for the first period
-      var periodSeparator = config.host.indexOf('.'); 
-      config.hubName = config.host.substring(0, periodSeparator);
-    }
-    else if ( (pos = element.indexOf("SharedAccessKeyName=") ) >= 0) {
-      config.keyName = element.substring(pos+SAKN_LEN);
-    }
-    else if ( (pos = element.indexOf("SharedAccessKey=") ) >= 0) {
-      config.key = element.substring(pos+SAK_LEN);
-    }
-  });
-  return config;
-}
-
-/**
- * @class Registry
- * @classdesc Constructs a {@linkcode Registry} object with the given IoT
- *            registry connection string and `transport` object.
- * @param {String}  connString    The IoT registry connection string
- * @param {Object}  transport     An object that implements the interface
- *                                expected of a transport object. See the
- *                                file **adapters/devdoc/https_requirements.docm**
- *                                for information on what the transport
- *                                object should look like. The {@linkcode Https}
- *                                class is an implementation that uses HTTP as
- *                                the communication protocol.
- */
-/*Codes_SRS_NODE_IOTHUB_REGISTRY_05_001: [The Registry constructor shall accept a transport object]*/
-function Registry(connString, transport) {
-  this.config = parseConnString(connString);
-  this.transport = transport;
-}
-
-/**
- * Creates a device with the given ID.
- * @param {Object}   deviceInfo   The object must include a `deviceId` property
- *                                with a valid device identifier.
- * @param {Function} done         The callback to be invoked when `create`
- *                                completes execution.
- */
-Registry.prototype.create = function (deviceInfo, done) {
-  /*Codes_SRS_NODE_IOTHUB_REGISTRY_07_001: [The create method shall throw a ReferenceError if the supplied deviceId is not valid.] */
-  if (!deviceInfo.deviceId) {
-    throw new ReferenceError('Invalid argument \'deviceId\'');
-  }
-  else {
-    var path = Endpoint.devicePath(deviceInfo.deviceId);
-    this.transport.createDevice(path, deviceInfo, this.config, function (err, res, msg) {
-      /*Codes_SRS_NODE_IOTHUB_REGISTRY_07_002: [When the create method completes, the callback function (indicated by the done argument) shall be invoked with the same arguments as the underlying transport method’s callback, plus a Device object representing the the new device information created from IoT Hub.]*/
-      if (err) {
-        deviceInfo = undefined;
-      }
-      else if (msg) {
-        deviceInfo = new Device(msg.getData() );
-      }
-      done(err, res, deviceInfo);
-    });
-  }
-};
-
-/**
- * Updates an existing device with the given ID.
- * @param {Object}   deviceInfo   The object must include a `deviceId` property
- *                                with a valid device identifier of an existing
- *                                device.
- * @param {Function} done         The callback to be invoked when `update`
- *                                completes execution.
- */
-Registry.prototype.update = function (deviceInfo, done) {
-  /* Codes_SRS_NODE_IOTHUB_REGISTRY_07_003: [The update method shall throw a ReferenceError if the supplied deviceInfo.deviceId is not valid.]*/
-  if (!deviceInfo.deviceId) {
-    throw new ReferenceError('Invalid argument \'deviceId\'');
-  }
-  else {
-    var path = Endpoint.devicePath(deviceInfo.deviceId);
-    this.transport.updateDevice(path, deviceInfo, this.config, function sendFromResponse(err, res, msg) {
-      /*Codes_SRS_NODE_IOTHUB_REGISTRY_07_004: [When the update method completes, the callback function (indicated by the done argument) shall be invoked with the same arguments as the underlying transport method’s callback, plus a Device object representing the updated device information created from IoT Hub.]*/
-      if (err) {
-        deviceInfo = undefined;
-      }
-      else if (msg) {
-        deviceInfo = new Device(msg.getData() );
-      }
-      done(err, res, deviceInfo);
-    });
-  }
-};
-
-/**
- * This method requests metadata (in the form of a Device object) about the
- * device with the given ID.
- * @param {String}   deviceId   A valid device identifier
- * @param {Function} done       The callback to be invoked when `get`
- *                              completes execution.
- */
-Registry.prototype.get = function (deviceId, done) {
-  /*Codes_SRS_NODE_IOTHUB_REGISTRY_05_002: [The get method shall request metadata for the device (indicated by the id argument) from the IoT Hub registry service via the transport associated with the Registry instance.]*/
-  var path = Endpoint.devicePath(deviceId);
-  this.transport.getDevice(path, this.config, function (err, res, msg) {
-    /*Codes_SRS_NODE_IOTHUB_REGISTRY_05_003: [When the get method completes, the callback function (indicated by the done argument) shall be invoked with the same arguments as the underlying transport method’s callback, plus a Device object representing the device information returned from IoT Hub.]*/
-    var dev;
-    if (msg) {
-      dev = new Device(msg.getData() );
-    }
-    done(err, res, dev);
-  });
-};
-
-/**
- * This method requests metadata (in the form of a Device object) for the top
- * 1000 devices in the system.
- * @param {Function} done     The callback to be invoked when `list`
- *                            completes execution.
- */
-Registry.prototype.list = function (done) {
-  /*Codes_SRS_NODE_IOTHUB_REGISTRY_07_005: [When the list method completes, the callback function (indicated by the done argument) shall be invoked with the same arguments as the underlying transport method’s callback, plus a list of Device object in the form of JSON objects.]*/
-  var path = Endpoint.devicePath('');
-  this.transport.listDevice(path, this.config, function (err, res, msg) {
-    var devList = [];
-    if (msg) {
-      var jsonArray = JSON.parse(msg.getData() );
-      jsonArray.forEach(function(jsonElement) {
-        /*Codes_SRS_NODE_IOTHUB_REGISTRY_07_006: [The returned JSON object will be converted to a list of Device objects.]*/
-        var devItem = new Device(JSON.stringify(jsonElement) );
-        devList.push(devItem);
-      });
-    }
-    done(err, res, devList);
-  });
-};
-
-/**
- * This method removes a device with the given ID.
- * @param {String}   deviceId   A valid device identifier
- * @param {Function} done       The callback to be invoked when `delete`
- *                              completes execution.
- */
-Registry.prototype.delete = function (deviceId, done) {
-  /*Codes_SRS_NODE_IOTHUB_REGISTRY_07_007: [The delete method shall throw a ReferenceError if the supplied deviceId is not valid. When the delete method completes, the callback function (indicated by the done argument) shall be invoked with the same arguments as the underlying transport method’s callback]*/
-  var path = Endpoint.devicePath(deviceId);
-  this.transport.deleteDevice(path, this.config, function (err, res, msg) {
-    done(err, res);
-  });
-};
-
-module.exports = Registry;
-
-
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) -
- - - - - diff --git a/node/common/lib/https.js b/node/common/lib/https.js index 153489db..ab4c4dc0 100644 --- a/node/common/lib/https.js +++ b/node/common/lib/https.js @@ -1,56 +1,6 @@ // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -/** - * The `https` module provides transport functionality for applications that - * want to communicate with an Azure IoT Hub. - * - * @example - * 'use strict'; - * var Https = require('./src/iothub_https').Https; - * var Message = require('./src/iothub').Message; - * - * function print(err, res) { - * if (err) console.log(err.toString()); - * if (res) console.log(res.statusCode + ' ' + res.statusMessage); - * } - * - * var deviceConfig = { - * host: 'hostname', - * keyName: 'deviceId', - * key: 'deviceKey' - * }; - * - * var devHttps = new Https(deviceConfig); - * - * devHttps.sendEvent(new Message('hello world'), print); - * - * devHttps.receive(function (err, res, msg) { - * print(err, res); - * if (msg) console.log('Message: ' + msg); - * if (!err && res.statusCode !== 204) { - * devHttps.sendFeedback('complete', msg.lockToken, print); - * } - * }); - * - * var serviceConfig = { - * host: 'hostname', - * keyName: 'policy', - * key: 'policyKey' - * }; - * - * var svcHttps = new Https(config); - * - * svcHttps.getDevice('deviceId', function (err, res, dev) { - * print(err, res); - * if (!err) { - * console.log(dev.id); - * } - * }); - * - * @module adapters/https - */ - 'use strict'; var authorization = require('./authorization.js'); @@ -93,7 +43,6 @@ function constructBatchBody(messages) /** * @class Https - * @alias module:adapters/https.Https * @classdesc Constructs an {@linkcode Https} object. */ /*Codes_SRS_NODE_IOTHUB_HTTPS_05_001: [The Https constructor shall accept a config object with three properties: @@ -394,22 +343,6 @@ Https.prototype.sendFeedback = function (action, lockToken, config, done) { } }; -/** - * Creates an IoT Hub device. - * @param {String} path The HTTP URL to send the request to - * @param {String} deviceInfo Device metadata serialized as JSON - * @param {Object} config This is a dictionary containing the - * following keys and values: - * - * | Key | Value | - * |---------|---------------------------------------------------------| - * | host | The host URL of the Azure IoT Hub | - * | hubName | The name of the Azure IoT Hub | - * | keyName | The identifier of the device that is being connected to | - * | key | The shared access key auth | - * @param {Function} done The callback to be invoked when - * `createDevice` completes execution. - */ Https.prototype.createDevice = function (path, deviceInfo, config, done) { /* SRS_NODE_IOTHUB_HTTPS_07_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows: OPERATION ?api-version= HTTP/1.1 @@ -436,22 +369,6 @@ Https.prototype.createDevice = function (path, deviceInfo, config, done) { request.end(); }; -/** - * Updates an IoT Hub device. - * @param {String} path The HTTP URL to send the request to - * @param {String} deviceInfo Device metadata serialized as JSON - * @param {Object} config This is a dictionary containing the - * following keys and values: - * - * | Key | Value | - * |---------|---------------------------------------------------------| - * | host | The host URL of the Azure IoT Hub | - * | hubName | The name of the Azure IoT Hub | - * | keyName | The identifier of the device that is being connected to | - * | key | The shared access key auth | - * @param {Function} done The callback to be invoked when - * `updateDevice` completes execution. - */ Https.prototype.updateDevice = function (path, deviceInfo, config, done) { /* SRS_NODE_IOTHUB_HTTPS_07_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows: OPERATION ?api-version= HTTP/1.1 @@ -479,22 +396,6 @@ Https.prototype.updateDevice = function (path, deviceInfo, config, done) { request.end(); }; -/** - * This method requests metadata (in the form of a Device object) about the - * device with the given ID. - * @param {String} path The HTTP URL to send the request to - * @param {Object} config This is a dictionary containing the - * following keys and values: - * - * | Key | Value | - * |---------|---------------------------------------------------------| - * | host | The host URL of the Azure IoT Hub | - * | hubName | The name of the Azure IoT Hub | - * | keyName | The identifier of the device that is being connected to | - * | key | The shared access key auth | - * @param {Function} done The callback to be invoked when - * `getDevice` completes execution. - */ Https.prototype.getDevice = function (path, config, done) { /*Codes_SRS_NODE_IOTHUB_HTTPS_05_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows: OPERATION ?api-version= HTTP/1.1 @@ -519,22 +420,6 @@ Https.prototype.getDevice = function (path, config, done) { request.end(); }; -/** - * This method requests metadata (in the form of a Device object) for the top - * 1000 devices in the system. - * @param {String} path The HTTP URL to send the request to - * @param {Object} config This is a dictionary containing the - * following keys and values: - * - * | Key | Value | - * |---------|---------------------------------------------------------| - * | host | The host URL of the Azure IoT Hub | - * | hubName | The name of the Azure IoT Hub | - * | keyName | The identifier of the device that is being connected to | - * | key | The shared access key auth | - * @param {Function} done The callback to be invoked when - * `listDevice` completes execution. - */ Https.prototype.listDevice = function (path, config, done) { /*Codes_SRS_NODE_IOTHUB_HTTPS_05_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows: OPERATION ?api-version= HTTP/1.1 @@ -559,21 +444,6 @@ Https.prototype.listDevice = function (path, config, done) { request.end(); }; -/** - * This method removes a device with the given ID. - * @param {String} path The HTTP URL to send the request to - * @param {Object} config This is a dictionary containing the - * following keys and values: - * - * | Key | Value | - * |---------|---------------------------------------------------------| - * | host | The host URL of the Azure IoT Hub | - * | hubName | The name of the Azure IoT Hub | - * | keyName | The identifier of the device that is being connected to | - * | key | The shared access key auth | - * @param {Function} done The callback to be invoked when - * `deleteDevice` completes execution. - */ Https.prototype.deleteDevice = function (path, config, done) { /*Codes_SRS_NODE_IOTHUB_HTTPS_05_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows: OPERATION ?api-version= HTTP/1.1 diff --git a/node/common/lib/message.js b/node/common/lib/message.js index 1ea98a6e..89a51494 100644 --- a/node/common/lib/message.js +++ b/node/common/lib/message.js @@ -1,21 +1,6 @@ // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -/** - * Exports the {@link Message} object that provides a container for message - * content and properties travelling to and from an IoT Hub. - * - * @example - * var Message = require('./src/iothub').Message; - * - * var message = new Message('data to send'); - * message.properties.add('myProperty', 'my property value'); - * console.log('message content: ' + message.getData()); - * - * @module common/message - * @requires common/properties - */ - 'use strict'; var Properties = require('./properties.js'); diff --git a/node/device/Jakefile b/node/device/Jakefile index f0ab5acd..76d38131 100644 --- a/node/device/Jakefile +++ b/node/device/Jakefile @@ -62,7 +62,7 @@ lint.checkFiles({ files: deglob( ['Jakefile', '**/*.js'], - ['**/node_modules'] + ['**/node_modules', 'doc/'] ), options: jshintConfig.nodeOptions, globals: jshintConfig.nodeGlobals diff --git a/node/device/device.js b/node/device/device.js index 8516b34c..9041c608 100644 --- a/node/device/device.js +++ b/node/device/device.js @@ -1,6 +1,44 @@ // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +/** + * The `azure-iot-device` module provides a means for devices to send events to and + * receive notifications from an Azure IoT Hub. The client handles + * communication with the IoT Hub through a transport supplied by the caller + * (e.g., [Https]{@linkcode module:adapters/https.Https}). + * + * @example + * var Device = require('azure-iot-device'); + * var Client = Device.Client; + * var Message = Device.Message; + * var Https = Device.Https; + * + * function print(err, res) { + * if (err) console.log(err.toString()); + * if (res) console.log(res.statusCode + ' ' + res.statusMessage); + * } + * + * var config = { + * host: 'hostname', + * keyName: 'deviceId', + * key: 'password' + * }; + * + * var client = new Client(new Https(config)); + * + * client.sendEvent(new Message('hello world'), print); + * + * client.receive (function (err, res, msg) { + * print(err, res); + * if (msg) console.log('Notification: ' + msg); + * if (!err && res.statusCode !== 204) { + * client.complete(msg, print); + * } + * }); + * + * @module azure-iot-device + */ + 'use strict'; var common = require('_common'); diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client-Client.html b/node/device/doc/api_reference/Client.html similarity index 83% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client-Client.html rename to node/device/doc/api_reference/Client.html index 2d763352..20ae32d5 100644 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-device_client-Client.html +++ b/node/device/doc/api_reference/Client.html @@ -27,12 +27,10 @@

- device/client~ - Client

-

Constructs a Client object with the given IoT device connection +

Constructs a Client object with the given IoT device connection string and transport object.

@@ -129,7 +127,7 @@ expected of a transport object. See the file adapters/devdoc/https_requirements.docm for information on what the transport - object should look like. The Https + object should look like. The Https class is an implementation that uses HTTP as the communication protocol.

@@ -172,7 +170,7 @@
Source:
@@ -271,7 +269,7 @@ message so it may be received again later.

-Message +Message @@ -347,7 +345,7 @@ message so it may be received again later.

Source:
@@ -428,7 +426,7 @@ from the queue and record that it was accepted.

-Message +Message @@ -504,7 +502,7 @@ from the queue and record that it was accepted.

Source:
@@ -637,7 +635,7 @@ constructor argument) for the next notification in the queue.

Source:
@@ -718,7 +716,7 @@ from the queue and record that it was rejected.

-Message +Message @@ -794,7 +792,7 @@ from the queue and record that it was rejected.

Source:
@@ -832,7 +830,7 @@ from the queue and record that it was rejected.

-

The sendEvent method sends an event message +

The sendEvent method sends an event message to the IoT Hub as the device indicated by the connection string passed via the constructor.

@@ -876,7 +874,7 @@ via the constructor.

-Message +Message @@ -952,7 +950,7 @@ via the constructor.

Source:
@@ -997,7 +995,7 @@ via the constructor.

-

The sendEventBatch method sends a list +

The sendEventBatch method sends a list of event messages to the IoT Hub as the device indicated by the connection string passed via the constructor.

@@ -1041,7 +1039,7 @@ string passed via the constructor.

-array.<Message> +array.<Message> @@ -1117,7 +1115,7 @@ string passed via the constructor.

Source:
@@ -1159,13 +1157,13 @@ string passed via the constructor.


- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) + Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time)
diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry-Registry.html b/node/device/doc/api_reference/Https.html similarity index 50% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry-Registry.html rename to node/device/doc/api_reference/Https.html index 48c9156a..001a2b80 100644 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-service_registry-Registry.html +++ b/node/device/doc/api_reference/Https.html @@ -2,7 +2,7 @@ - JSDoc: Class: Registry + JSDoc: Class: Https @@ -16,7 +16,7 @@
-

Class: Registry

+

Class: Https

@@ -27,13 +27,10 @@

- service/registry~ - - Registry + Https

-

Constructs a Registry object with the given IoT - registry connection string and transport object.

+

Constructs an Https object.

@@ -47,7 +44,7 @@

Constructor

-

new Registry(connString, transport)

+

new Https()

@@ -61,84 +58,6 @@ -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
connString - - -String - - - -

The IoT registry connection string

transport - - -Object - - - -

An object that implements the interface - expected of a transport object. See the - file adapters/devdoc/https_requirements.docm - for information on what the transport - object should look like. The Https - class is an implementation that uses HTTP as - the communication protocol.

- - @@ -172,7 +91,7 @@
Source:
@@ -221,14 +140,15 @@ -

create(deviceInfo, done)

+

receive(config, done)

-

Creates a device with the given ID.

+

The receive method queries the IoT Hub (as the device indicated in the +config parameter) for the next notification in the queue.

@@ -264,7 +184,7 @@ - deviceInfo + config @@ -280,8 +200,34 @@ -

The object must include a deviceId property - with a valid device identifier.

+

This is a dictionary containing the + following keys and values:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
@@ -304,8 +250,8 @@ -

The callback to be invoked when create - completes execution.

+

The callback to be invoked when + receive completes execution.

@@ -346,7 +292,7 @@
Source:
@@ -377,14 +323,15 @@ -

delete(deviceId, done)

+

sendEvent(message, config, done)

-

This method removes a device with the given ID.

+

This method sends an event to the IoT Hub as the device indicated in the +config parameter.

@@ -420,13 +367,13 @@ - deviceId + message -String +Message @@ -436,7 +383,58 @@ -

A valid device identifier

+

The message + to be sent.

+ + + + + + + config + + + + + +Object + + + + + + + + + +

This is a dictionary containing the following keys + and values:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
@@ -459,7 +457,7 @@ -

The callback to be invoked when delete +

The callback to be invoked when sendEvent completes execution.

@@ -501,7 +499,7 @@
Source:
@@ -532,15 +530,15 @@ -

get(deviceId, done)

+

sendEventBatch(messages, config, done)

-

This method requests metadata (in the form of a Device object) about the -device with the given ID.

+

The sendEventBatch method sends a list of event messages to the IoT Hub +as the device indicated in the config parameter.

@@ -576,13 +574,13 @@ device with the given ID.

- deviceId + messages -String +array.<Message> @@ -592,279 +590,15 @@ device with the given ID.

-

A valid device identifier

+

Array of Message + objects to be sent as a batch.

- done - - - - - -function - - - - - - - - - -

The callback to be invoked when get - completes execution.

- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

list(done)

- - - - - -
-

This method requests metadata (in the form of a Device object) for the top -1000 devices in the system.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
done - - -function - - - -

The callback to be invoked when list - completes execution.

- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -

update(deviceInfo, done)

- - - - - -
-

Updates an existing device with the given ID.

-
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -905,8 +664,8 @@ device with the given ID.

- + @@ -947,7 +706,259 @@ device with the given ID.

Source:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

sendFeedback(action, lockToken, config, done)

+ + + + + +
+

This method sends the feedback action to the IoT Hub.

+
+ + + + + + + + + +
Parameters:
+ + +
NameTypeDescription
deviceInfoconfig @@ -880,9 +614,34 @@ device with the given ID.

-

The object must include a deviceId property - with a valid device identifier of an existing - device.

This is a dictionary containing the + following keys and values:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth

The callback to be invoked when update - completes execution.

The callback to be invoked when + sendEventBatch completes execution.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
action + + +String + + + +

This parameter must be equal to one of the + following possible values:

+ + + + + + + + + + + + + + + + + + + + + +
ValueAction
abandonDirects the IoT Hub to re-enqueue a notification message so it may be received again later.
rejectDirects the IoT Hub to delete a notification message from the queue and record that it was rejected.
completeDirects the IoT Hub to delete a notification message from the queue and record that it was accepted.
lockToken + + +String + + + +

An HTTP E-Tag used to manage concurrent updates + to the device

config + + +Object + + + +

This is a dictionary containing the + following keys and values:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
hostThe host URL of the Azure IoT Hub
hubNameThe name of the Azure IoT Hub
keyNameThe identifier of the device that is being connected to
keyThe shared access key auth
done + + +function + + + +

The callback to be invoked when + sendFeedback completes execution.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -989,13 +1000,13 @@ device with the given ID.


- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) + Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time)
diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message-Message.html b/node/device/doc/api_reference/Message.html similarity index 80% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message-Message.html rename to node/device/doc/api_reference/Message.html index 7c83b764..50be342f 100644 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/module-common_message-Message.html +++ b/node/device/doc/api_reference/Message.html @@ -27,12 +27,10 @@

- common/message~ - Message

-

Constructs a Message object with the given data. +

Constructs a Message object with the given data. data can be a Node Buffer object or anything that can be used to construct a Buffer object from.

@@ -297,7 +295,7 @@
Source:
@@ -406,7 +404,7 @@ of bytes.

Source:
@@ -462,7 +460,7 @@ of bytes.

-

Returns the data that was passed in to the constructor.

+

Returns the data that was passed in to the constructor.

@@ -506,7 +504,7 @@ of bytes.

Source:
@@ -533,7 +531,7 @@ of bytes.

-

The data that was passed to the constructor.

+

The data that was passed to the constructor.

@@ -570,13 +568,13 @@ of bytes.


- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) + Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time)
diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/adapters_https.js.html b/node/device/doc/api_reference/common_lib_https.js.html similarity index 79% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/adapters_https.js.html rename to node/device/doc/api_reference/common_lib_https.js.html index 7441a7a2..14d31b1c 100644 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/adapters_https.js.html +++ b/node/device/doc/api_reference/common_lib_https.js.html @@ -2,7 +2,7 @@ - JSDoc: Source: adapters/https.js + JSDoc: Source: common/lib/https.js @@ -16,7 +16,7 @@
-

Source: adapters/https.js

+

Source: common/lib/https.js

@@ -27,61 +27,11 @@
// Copyright (c) Microsoft. All rights reserved.
 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
 
-/**
- * The `https` module provides transport functionality for applications that
- * want to communicate with an Azure IoT Hub.
- *
- * @example
- * 'use strict';
- * var Https = require('./src/iothub_https').Https;
- * var Message = require('./src/iothub').Message;
- *
- * function print(err, res) {
- *   if (err) console.log(err.toString());
- *   if (res) console.log(res.statusCode + ' ' + res.statusMessage);
- * }
- *
- * var deviceConfig = {
- *   host: 'hostname',
- *   keyName: 'deviceId',
- *   key: 'deviceKey'
- * };
- *
- * var devHttps = new Https(deviceConfig);
- *
- * devHttps.sendEvent(new Message('hello world'), print);
- *
- * devHttps.receive(function (err, res, msg) {
- *   print(err, res);
- *   if (msg) console.log('Message: ' + msg);
- *   if (!err && res.statusCode !== 204) {
- *     devHttps.sendFeedback('complete', msg.lockToken, print);
- *   }
- * });
- *
- * var serviceConfig = {
- *   host: 'hostname',
- *   keyName: 'policy',
- *   key: 'policyKey'
- * };
- *
- * var svcHttps = new Https(config);
- *
- * svcHttps.getDevice('deviceId', function (err, res, dev) {
- *   print(err, res);
- *   if (!err) {
- *     console.log(dev.id);
- *   }
- * });
- *
- * @module adapters/https
- */
-
 'use strict';
 
-var authorization = require('../common/authorization');
-var endpoint = require('../common/endpoint');
-var Message = require('../common/message');
+var authorization = require('./authorization.js');
+var endpoint = require('./endpoint.js');
+var Message = require('./message.js');
 
 function anHourFromNow () {
   var raw = (Date.now() / 1000) + 3600;
@@ -119,7 +69,6 @@ function constructBatchBody(messages)
 
 /**
  * @class Https
- * @alias module:adapters/https.Https
  * @classdesc Constructs an {@linkcode Https} object.
  */
 /*Codes_SRS_NODE_IOTHUB_HTTPS_05_001: [The Https constructor shall accept a config object with three properties:
@@ -420,22 +369,6 @@ Https.prototype.sendFeedback = function (action, lockToken, config, done) {
   }
 };
 
-/**
- * Creates an IoT Hub device.
- * @param {String}    path        The HTTP URL to send the request to
- * @param {String}    deviceInfo  Device metadata serialized as JSON
- * @param {Object}    config      This is a dictionary containing the
- *                                following keys and values:
- *
- * | Key     | Value                                                   |
- * |---------|---------------------------------------------------------|
- * | host    | The host URL of the Azure IoT Hub                       |
- * | hubName | The name of the Azure IoT Hub                           |
- * | keyName | The identifier of the device that is being connected to |
- * | key     | The shared access key auth                              |
- * @param {Function}      done      The callback to be invoked when
- *                                  `createDevice` completes execution.
- */
 Https.prototype.createDevice = function (path, deviceInfo, config, done) {
   /* SRS_NODE_IOTHUB_HTTPS_07_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows:
   OPERATION <path>?api-version=<version> HTTP/1.1
@@ -462,22 +395,6 @@ Https.prototype.createDevice = function (path, deviceInfo, config, done) {
   request.end();
 };
 
-/**
- * Updates an IoT Hub device.
- * @param {String}    path        The HTTP URL to send the request to
- * @param {String}    deviceInfo  Device metadata serialized as JSON
- * @param {Object}    config      This is a dictionary containing the
- *                                following keys and values:
- *
- * | Key     | Value                                                   |
- * |---------|---------------------------------------------------------|
- * | host    | The host URL of the Azure IoT Hub                       |
- * | hubName | The name of the Azure IoT Hub                           |
- * | keyName | The identifier of the device that is being connected to |
- * | key     | The shared access key auth                              |
- * @param {Function}      done      The callback to be invoked when
- *                                  `updateDevice` completes execution.
- */
 Https.prototype.updateDevice = function (path, deviceInfo, config, done) {
   /* SRS_NODE_IOTHUB_HTTPS_07_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows:
   OPERATION <path>?api-version=<version> HTTP/1.1
@@ -505,22 +422,6 @@ Https.prototype.updateDevice = function (path, deviceInfo, config, done) {
   request.end();
 };
 
-/**
- * This method requests metadata (in the form of a Device object) about the
- * device with the given ID.
- * @param {String}  path    The HTTP URL to send the request to
- * @param {Object}  config  This is a dictionary containing the
- *                          following keys and values:
- *
- * | Key     | Value                                                   |
- * |---------|---------------------------------------------------------|
- * | host    | The host URL of the Azure IoT Hub                       |
- * | hubName | The name of the Azure IoT Hub                           |
- * | keyName | The identifier of the device that is being connected to |
- * | key     | The shared access key auth                              |
- * @param {Function}      done      The callback to be invoked when
- *                                  `getDevice` completes execution.
- */
 Https.prototype.getDevice = function (path, config, done) {
   /*Codes_SRS_NODE_IOTHUB_HTTPS_05_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows:
   OPERATION <path>?api-version=<version> HTTP/1.1
@@ -545,22 +446,6 @@ Https.prototype.getDevice = function (path, config, done) {
   request.end();
 };
 
-/**
- * This method requests metadata (in the form of a Device object) for the top
- * 1000 devices in the system.
- * @param {String}  path    The HTTP URL to send the request to
- * @param {Object}  config  This is a dictionary containing the
- *                          following keys and values:
- *
- * | Key     | Value                                                   |
- * |---------|---------------------------------------------------------|
- * | host    | The host URL of the Azure IoT Hub                       |
- * | hubName | The name of the Azure IoT Hub                           |
- * | keyName | The identifier of the device that is being connected to |
- * | key     | The shared access key auth                              |
- * @param {Function}      done      The callback to be invoked when
- *                                  `listDevice` completes execution.
- */
 Https.prototype.listDevice = function (path, config, done) {
   /*Codes_SRS_NODE_IOTHUB_HTTPS_05_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows:
   OPERATION <path>?api-version=<version> HTTP/1.1
@@ -585,21 +470,6 @@ Https.prototype.listDevice = function (path, config, done) {
   request.end();
 };
 
-/**
- * This method removes a device with the given ID.
- * @param {String}  path    The HTTP URL to send the request to
- * @param {Object}  config  This is a dictionary containing the
- *                          following keys and values:
- *
- * | Key     | Value                                                   |
- * |---------|---------------------------------------------------------|
- * | host    | The host URL of the Azure IoT Hub                       |
- * | hubName | The name of the Azure IoT Hub                           |
- * | keyName | The identifier of the device that is being connected to |
- * | key     | The shared access key auth                              |
- * @param {Function}      done      The callback to be invoked when
- *                                  `deleteDevice` completes execution.
- */
 Https.prototype.deleteDevice = function (path, config, done) {
   /*Codes_SRS_NODE_IOTHUB_HTTPS_05_010: [The device methods shall construct an HTTP request using information supplied by the caller, as follows:
   OPERATION <path>?api-version=<version> HTTP/1.1
@@ -636,13 +506,13 @@ module.exports = Https;
 

- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) + Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time)
diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_message.js.html b/node/device/doc/api_reference/common_lib_message.js.html similarity index 72% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_message.js.html rename to node/device/doc/api_reference/common_lib_message.js.html index 6df84e38..7e207463 100644 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/common_message.js.html +++ b/node/device/doc/api_reference/common_lib_message.js.html @@ -2,7 +2,7 @@ - JSDoc: Source: common/message.js + JSDoc: Source: common/lib/message.js @@ -16,7 +16,7 @@
-

Source: common/message.js

+

Source: common/lib/message.js

@@ -27,21 +27,6 @@
// Copyright (c) Microsoft. All rights reserved.
 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
 
-/**
- * Exports the {@link Message} object that provides a container for message
- * content and properties travelling to and from an IoT Hub.
- *
- * @example
- * var Message = require('./src/iothub').Message;
- *
- * var message = new Message('data to send');
- * message.properties.add('myProperty', 'my property value');
- * console.log('message content: ' + message.getData());
- *
- * @module common/message
- * @requires common/properties
- */
-
 'use strict';
 
 var Properties = require('./properties.js');
@@ -122,13 +107,13 @@ module.exports = Message;

- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) + Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time)
diff --git a/node/device/doc/api_reference/device_device.js.html b/node/device/doc/api_reference/device_device.js.html new file mode 100644 index 00000000..f3e7d7eb --- /dev/null +++ b/node/device/doc/api_reference/device_device.js.html @@ -0,0 +1,98 @@ + + + + + JSDoc: Source: device/device.js + + + + + + + + + + +
+

Source: device/device.js

+ + + + + +
+
+
// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+/**
+ * The `azure-iot-device` module provides a means for devices to send events to and
+ * receive notifications from an Azure IoT Hub.  The client handles
+ * communication with the IoT Hub through a transport supplied by the caller
+ * (e.g., [Https]{@linkcode module:adapters/https.Https}).
+ *
+ * @example
+ * var Device = require('azure-iot-device');
+ * var Client = Device.Client;
+ * var Message = Device.Message;
+ * var Https = Device.Https;
+ *
+ * function print(err, res) {
+ *   if (err) console.log(err.toString());
+ *   if (res) console.log(res.statusCode + ' ' + res.statusMessage);
+ * }
+ *
+ * var config = {
+ *   host: 'hostname',
+ *   keyName: 'deviceId',
+ *   key: 'password'
+ * };
+ *
+ * var client = new Client(new Https(config));
+ *
+ * client.sendEvent(new Message('hello world'), print);
+ *
+ * client.receive (function (err, res, msg) {
+ *   print(err, res);
+ *   if (msg) console.log('Notification: ' + msg);
+ *   if (!err && res.statusCode !== 204) {
+ *     client.complete(msg, print);
+ *   }
+ * });
+ *
+ * @module azure-iot-device
+ */
+
+'use strict';
+
+var common = require('_common');
+
+module.exports = {
+    Client: require('./lib/client.js'),
+    Https: common.Https,
+    Message: common.Message
+};
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time) +
+ + + + + diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/device_client.js.html b/node/device/doc/api_reference/device_lib_client.js.html similarity index 77% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/device_client.js.html rename to node/device/doc/api_reference/device_lib_client.js.html index c711feb6..0d1ee6f0 100644 --- a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/device_client.js.html +++ b/node/device/doc/api_reference/device_lib_client.js.html @@ -2,7 +2,7 @@ - JSDoc: Source: device/client.js + JSDoc: Source: device/lib/client.js @@ -16,7 +16,7 @@
-

Source: device/client.js

+

Source: device/lib/client.js

@@ -27,44 +27,6 @@
// Copyright (c) Microsoft. All rights reserved.
 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
 
-/**
- * The `client` module provides a means for devices to send events to and
- * receive notifications from an Azure IoT Hub.  The client handles
- * communication with the IoT Hub through a transport supplied by the caller
- * (e.g., [Https]{@linkcode module:adapters/https.Https}).
- *
- * @example
- * var Client = require('./src/iothub').devices.Client;
- * var Message = require('./src/iothub').Message;
- * var Https = require('./src/iothub_https').Https;
- *
- * function print(err, res) {
- *   if (err) console.log(err.toString());
- *   if (res) console.log(res.statusCode + ' ' + res.statusMessage);
- * }
- *
- * var config = {
- *   host: 'hostname',
- *   keyName: 'deviceId',
- *   key: 'password'
- * };
- *
- * var client = new Client(new Https(config));
- *
- * client.sendEvent(new Message('hello world'), print);
- *
- * client.receive (function (err, res, msg) {
- *   print(err, res);
- *   if (msg) console.log('Notification: ' + msg);
- *   if (!err && res.statusCode !== 204) {
- *     client.complete(msg, print);
- *   }
- * });
- *
- * @module device/client
- * @requires common/message
- */
-
 'use strict';
 
 var HOSTNAME_LEN = "HostName=".length;
@@ -210,13 +172,13 @@ module.exports = Client;
 

- Documentation generated by JSDoc 3.3.2 on Fri Sep 18 2015 22:09:45 GMT-0700 (Pacific Daylight Time) + Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time)
diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Bold-webfont.eot b/node/device/doc/api_reference/fonts/OpenSans-Bold-webfont.eot similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Bold-webfont.eot rename to node/device/doc/api_reference/fonts/OpenSans-Bold-webfont.eot diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Bold-webfont.svg b/node/device/doc/api_reference/fonts/OpenSans-Bold-webfont.svg similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Bold-webfont.svg rename to node/device/doc/api_reference/fonts/OpenSans-Bold-webfont.svg diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Bold-webfont.woff b/node/device/doc/api_reference/fonts/OpenSans-Bold-webfont.woff similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Bold-webfont.woff rename to node/device/doc/api_reference/fonts/OpenSans-Bold-webfont.woff diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-BoldItalic-webfont.eot b/node/device/doc/api_reference/fonts/OpenSans-BoldItalic-webfont.eot similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-BoldItalic-webfont.eot rename to node/device/doc/api_reference/fonts/OpenSans-BoldItalic-webfont.eot diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-BoldItalic-webfont.svg b/node/device/doc/api_reference/fonts/OpenSans-BoldItalic-webfont.svg similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-BoldItalic-webfont.svg rename to node/device/doc/api_reference/fonts/OpenSans-BoldItalic-webfont.svg diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-BoldItalic-webfont.woff b/node/device/doc/api_reference/fonts/OpenSans-BoldItalic-webfont.woff similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-BoldItalic-webfont.woff rename to node/device/doc/api_reference/fonts/OpenSans-BoldItalic-webfont.woff diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Italic-webfont.eot b/node/device/doc/api_reference/fonts/OpenSans-Italic-webfont.eot similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Italic-webfont.eot rename to node/device/doc/api_reference/fonts/OpenSans-Italic-webfont.eot diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Italic-webfont.svg b/node/device/doc/api_reference/fonts/OpenSans-Italic-webfont.svg similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Italic-webfont.svg rename to node/device/doc/api_reference/fonts/OpenSans-Italic-webfont.svg diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Italic-webfont.woff b/node/device/doc/api_reference/fonts/OpenSans-Italic-webfont.woff similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Italic-webfont.woff rename to node/device/doc/api_reference/fonts/OpenSans-Italic-webfont.woff diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Light-webfont.eot b/node/device/doc/api_reference/fonts/OpenSans-Light-webfont.eot similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Light-webfont.eot rename to node/device/doc/api_reference/fonts/OpenSans-Light-webfont.eot diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Light-webfont.svg b/node/device/doc/api_reference/fonts/OpenSans-Light-webfont.svg similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Light-webfont.svg rename to node/device/doc/api_reference/fonts/OpenSans-Light-webfont.svg diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Light-webfont.woff b/node/device/doc/api_reference/fonts/OpenSans-Light-webfont.woff similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Light-webfont.woff rename to node/device/doc/api_reference/fonts/OpenSans-Light-webfont.woff diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-LightItalic-webfont.eot b/node/device/doc/api_reference/fonts/OpenSans-LightItalic-webfont.eot similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-LightItalic-webfont.eot rename to node/device/doc/api_reference/fonts/OpenSans-LightItalic-webfont.eot diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-LightItalic-webfont.svg b/node/device/doc/api_reference/fonts/OpenSans-LightItalic-webfont.svg similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-LightItalic-webfont.svg rename to node/device/doc/api_reference/fonts/OpenSans-LightItalic-webfont.svg diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-LightItalic-webfont.woff b/node/device/doc/api_reference/fonts/OpenSans-LightItalic-webfont.woff similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-LightItalic-webfont.woff rename to node/device/doc/api_reference/fonts/OpenSans-LightItalic-webfont.woff diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Regular-webfont.eot b/node/device/doc/api_reference/fonts/OpenSans-Regular-webfont.eot similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Regular-webfont.eot rename to node/device/doc/api_reference/fonts/OpenSans-Regular-webfont.eot diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Regular-webfont.svg b/node/device/doc/api_reference/fonts/OpenSans-Regular-webfont.svg similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Regular-webfont.svg rename to node/device/doc/api_reference/fonts/OpenSans-Regular-webfont.svg diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Regular-webfont.woff b/node/device/doc/api_reference/fonts/OpenSans-Regular-webfont.woff similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/fonts/OpenSans-Regular-webfont.woff rename to node/device/doc/api_reference/fonts/OpenSans-Regular-webfont.woff diff --git a/node/device/doc/api_reference/index.html b/node/device/doc/api_reference/index.html new file mode 100644 index 00000000..27fea4ef --- /dev/null +++ b/node/device/doc/api_reference/index.html @@ -0,0 +1,67 @@ + + + + + JSDoc: Microsoft Azure IoT Device SDK for Node.js + + + + + + + + + + +
+

Microsoft Azure IoT Device SDK for Node.js

+ + + + + + + + + + + + + + + + + +
+

The Microsoft Azure IoT Device library for Node.js contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.

+

Features

Device library

+
    +
  • Sends event data to an IoT Hub, in batches or individually.
  • +
  • Receives messages from an IoT Hub.
  • +
  • Uses HTTPS to communicate with IoT Hubs. AMQPS support is coming soon.
  • +
+
+ + + + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time) +
+ + + + + \ No newline at end of file diff --git a/node/device/doc/api_reference/module-azure-iot-device.html b/node/device/doc/api_reference/module-azure-iot-device.html new file mode 100644 index 00000000..8084e48e --- /dev/null +++ b/node/device/doc/api_reference/module-azure-iot-device.html @@ -0,0 +1,165 @@ + + + + + JSDoc: Module: azure-iot-device + + + + + + + + + + +
+

Module: azure-iot-device

+ + + + + +
+ +
+ + + + + +
+ +
+
+ + +

The azure-iot-device module provides a means for devices to send events to and +receive notifications from an Azure IoT Hub. The client handles +communication with the IoT Hub through a transport supplied by the caller +(e.g., Https).

+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Example
+ +
var Device = require('azure-iot-device');
var Client = Device.Client;
var Message = Device.Message;
var Https = Device.Https;

function print(err, res) {
  if (err) console.log(err.toString());
  if (res) console.log(res.statusCode + ' ' + res.statusMessage);
}

var config = {
  host: 'hostname',
  keyName: 'deviceId',
  key: 'password'
};

var client = new Client(new Https(config));

client.sendEvent(new Message('hello world'), print);

client.receive (function (err, res, msg) {
  print(err, res);
  if (msg) console.log('Notification: ' + msg);
  if (!err && res.statusCode !== 204) {
    client.complete(msg, print);
  }
});
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.3.2 on Tue Sep 22 2015 18:04:22 GMT-0700 (Pacific Daylight Time) +
+ + + + + \ No newline at end of file diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/linenumber.js b/node/device/doc/api_reference/scripts/linenumber.js similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/linenumber.js rename to node/device/doc/api_reference/scripts/linenumber.js diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/prettify/Apache-License-2.0.txt b/node/device/doc/api_reference/scripts/prettify/Apache-License-2.0.txt similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/prettify/Apache-License-2.0.txt rename to node/device/doc/api_reference/scripts/prettify/Apache-License-2.0.txt diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/prettify/lang-css.js b/node/device/doc/api_reference/scripts/prettify/lang-css.js similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/prettify/lang-css.js rename to node/device/doc/api_reference/scripts/prettify/lang-css.js diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/prettify/prettify.js b/node/device/doc/api_reference/scripts/prettify/prettify.js similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/scripts/prettify/prettify.js rename to node/device/doc/api_reference/scripts/prettify/prettify.js diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/styles/jsdoc-default.css b/node/device/doc/api_reference/styles/jsdoc-default.css similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/styles/jsdoc-default.css rename to node/device/doc/api_reference/styles/jsdoc-default.css diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/styles/prettify-jsdoc.css b/node/device/doc/api_reference/styles/prettify-jsdoc.css similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/styles/prettify-jsdoc.css rename to node/device/doc/api_reference/styles/prettify-jsdoc.css diff --git a/node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/styles/prettify-tomorrow.css b/node/device/doc/api_reference/styles/prettify-tomorrow.css similarity index 100% rename from node/apidocs/azure-iot-sdk/1.0.0-preview.1.0.0/styles/prettify-tomorrow.css rename to node/device/doc/api_reference/styles/prettify-tomorrow.css diff --git a/node/device/lib/client.js b/node/device/lib/client.js index 4eb8a0d6..e045c6b1 100644 --- a/node/device/lib/client.js +++ b/node/device/lib/client.js @@ -1,44 +1,6 @@ // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -/** - * The `client` module provides a means for devices to send events to and - * receive notifications from an Azure IoT Hub. The client handles - * communication with the IoT Hub through a transport supplied by the caller - * (e.g., [Https]{@linkcode module:adapters/https.Https}). - * - * @example - * var Client = require('./src/iothub').devices.Client; - * var Message = require('./src/iothub').Message; - * var Https = require('./src/iothub_https').Https; - * - * function print(err, res) { - * if (err) console.log(err.toString()); - * if (res) console.log(res.statusCode + ' ' + res.statusMessage); - * } - * - * var config = { - * host: 'hostname', - * keyName: 'deviceId', - * key: 'password' - * }; - * - * var client = new Client(new Https(config)); - * - * client.sendEvent(new Message('hello world'), print); - * - * client.receive (function (err, res, msg) { - * print(err, res); - * if (msg) console.log('Notification: ' + msg); - * if (!err && res.statusCode !== 204) { - * client.complete(msg, print); - * } - * }); - * - * @module device/client - * @requires common/message - */ - 'use strict'; var HOSTNAME_LEN = "HostName=".length; diff --git a/node/service/Jakefile b/node/service/Jakefile index f0ab5acd..76d38131 100644 --- a/node/service/Jakefile +++ b/node/service/Jakefile @@ -62,7 +62,7 @@ lint.checkFiles({ files: deglob( ['Jakefile', '**/*.js'], - ['**/node_modules'] + ['**/node_modules', 'doc/'] ), options: jshintConfig.nodeOptions, globals: jshintConfig.nodeGlobals From cf5e8b6172b75c3addf9ba22e07f8aa5d82caf0a Mon Sep 17 00:00:00 2001 From: Rajasekharan Vengalil Date: Wed, 23 Sep 2015 13:02:11 -0700 Subject: [PATCH 4/4] Add API docs for the C IoTHub_Message component. --- build/docs/Doxyfile | 1 + c/doc/api_reference/agenttime_8h.html | 215 --- c/doc/api_reference/agenttime_8h_source.html | 131 -- c/doc/api_reference/annotated.html | 103 -- c/doc/api_reference/arrowdown.png | Bin 241 -> 0 bytes c/doc/api_reference/arrowright.png | Bin 227 -> 0 bytes c/doc/api_reference/base64_8h.html | 216 --- c/doc/api_reference/base64_8h_source.html | 131 -- c/doc/api_reference/bc_s.png | Bin 624 -> 0 bytes c/doc/api_reference/bdwn.png | Bin 139 -> 0 bytes c/doc/api_reference/classes.html | 107 -- c/doc/api_reference/closed.png | Bin 125 -> 0 bytes .../dir_12d2b36f129c41023f7f4a6bff2578c5.html | 101 -- .../dir_1784a01aa976a8c78ef5dfc3737bcac8.html | 105 -- .../dir_3fa79a50e591a13d34768ad07721929e.html | 101 -- .../dir_4512fd3943e6edf693cef6803bd9b15b.html | 105 -- .../dir_72aec881c4ddd8f448eae7bd490815ae.html | 105 -- .../dir_cdcbff5a6a1122bd9bb23b5044523779.html | 101 -- .../dir_e7e6b493d3d7754f3ea1acccc5db86e9.html | 120 -- c/doc/api_reference/doc.png | Bin 652 -> 0 bytes c/doc/api_reference/doxygen.css | 1454 ----------------- c/doc/api_reference/doxygen.png | Bin 3529 -> 0 bytes c/doc/api_reference/dynsections.js | 97 -- c/doc/api_reference/files.html | 119 -- c/doc/api_reference/folderclosed.png | Bin 493 -> 0 bytes c/doc/api_reference/folderopen.png | Bin 505 -> 0 bytes c/doc/api_reference/functions.html | 117 -- c/doc/api_reference/functions_vars.html | 117 -- c/doc/api_reference/globals.html | 425 ----- c/doc/api_reference/globals_defs.html | 131 -- c/doc/api_reference/globals_enum.html | 140 -- c/doc/api_reference/globals_func.html | 308 ---- c/doc/api_reference/globals_type.html | 143 -- .../dir_72aec881c4ddd8f448eae7bd490815ae.html | 3 + c/doc/api_reference/html/files.html | 9 +- c/doc/api_reference/html/globals.html | 36 + c/doc/api_reference/html/globals_enum.html | 6 + c/doc/api_reference/html/globals_func.html | 24 + c/doc/api_reference/html/globals_type.html | 6 + .../api_reference/html/iothub__client_8h.html | 2 +- .../html/iothub__client__ll_8h.html | 4 +- .../html/iothub__client__ll_8h_source.html | 3 +- .../html/iothub__message_8h.html | 392 +++++ .../html/iothub__message_8h_source.html | 168 ++ c/doc/api_reference/html/search/all_6.js | 13 + c/doc/api_reference/html/search/enums_1.js | 2 + c/doc/api_reference/html/search/files_3.js | 3 +- .../api_reference/html/search/functions_3.js | 10 +- c/doc/api_reference/html/search/typedefs_1.js | 2 + c/doc/api_reference/httpapi_8h.html | 406 ----- c/doc/api_reference/httpapi_8h_source.html | 187 --- c/doc/api_reference/httpapiex_8h.html | 323 ---- c/doc/api_reference/httpapiex_8h_source.html | 148 -- c/doc/api_reference/httpheaders_8h.html | 433 ----- .../api_reference/httpheaders_8h_source.html | 159 -- c/doc/api_reference/index.html | 124 -- c/doc/api_reference/iothub__client_8h.html | 450 ----- .../iothub__client_8h_source.html | 148 -- .../api_reference/iothub__client__ll_8h.html | 525 ------ .../iothub__client__ll_8h_source.html | 220 --- c/doc/api_reference/jquery.js | 68 - c/doc/api_reference/lock_8h.html | 238 --- c/doc/api_reference/lock_8h_source.html | 140 -- c/doc/api_reference/nav_f.png | Bin 136 -> 0 bytes c/doc/api_reference/nav_g.png | Bin 95 -> 0 bytes c/doc/api_reference/nav_h.png | Bin 93 -> 0 bytes c/doc/api_reference/open.png | Bin 115 -> 0 bytes c/doc/api_reference/readme.md | 5 - c/doc/api_reference/schemalib_8h.html | 230 --- c/doc/api_reference/schemalib_8h_source.html | 154 -- c/doc/api_reference/search/all_0.html | 26 - c/doc/api_reference/search/all_0.js | 4 - c/doc/api_reference/search/all_1.html | 26 - c/doc/api_reference/search/all_1.js | 8 - c/doc/api_reference/search/all_2.html | 26 - c/doc/api_reference/search/all_2.js | 7 - c/doc/api_reference/search/all_3.html | 26 - c/doc/api_reference/search/all_3.js | 5 - c/doc/api_reference/search/all_4.html | 26 - c/doc/api_reference/search/all_4.js | 8 - c/doc/api_reference/search/all_5.html | 26 - c/doc/api_reference/search/all_5.js | 33 - c/doc/api_reference/search/all_6.html | 26 - c/doc/api_reference/search/all_6.js | 34 - c/doc/api_reference/search/all_7.html | 26 - c/doc/api_reference/search/all_7.js | 9 - c/doc/api_reference/search/all_8.html | 26 - c/doc/api_reference/search/all_8.js | 4 - c/doc/api_reference/search/all_9.html | 26 - c/doc/api_reference/search/all_9.js | 4 - c/doc/api_reference/search/all_a.html | 26 - c/doc/api_reference/search/all_a.js | 13 - c/doc/api_reference/search/all_b.html | 26 - c/doc/api_reference/search/all_b.js | 10 - c/doc/api_reference/search/all_c.html | 26 - c/doc/api_reference/search/all_c.js | 4 - c/doc/api_reference/search/all_d.html | 26 - c/doc/api_reference/search/all_d.js | 5 - c/doc/api_reference/search/classes_0.html | 26 - c/doc/api_reference/search/classes_0.js | 4 - c/doc/api_reference/search/close.png | Bin 273 -> 0 bytes c/doc/api_reference/search/defines_0.html | 26 - c/doc/api_reference/search/defines_0.js | 4 - c/doc/api_reference/search/defines_1.html | 26 - c/doc/api_reference/search/defines_1.js | 5 - c/doc/api_reference/search/defines_2.html | 26 - c/doc/api_reference/search/defines_2.js | 5 - c/doc/api_reference/search/defines_3.html | 26 - c/doc/api_reference/search/defines_3.js | 4 - c/doc/api_reference/search/defines_4.html | 26 - c/doc/api_reference/search/defines_4.js | 4 - c/doc/api_reference/search/defines_5.html | 26 - c/doc/api_reference/search/defines_5.js | 5 - c/doc/api_reference/search/enums_0.html | 26 - c/doc/api_reference/search/enums_0.js | 7 - c/doc/api_reference/search/enums_1.html | 26 - c/doc/api_reference/search/enums_1.js | 7 - c/doc/api_reference/search/enums_2.html | 26 - c/doc/api_reference/search/enums_2.js | 4 - c/doc/api_reference/search/enums_3.html | 26 - c/doc/api_reference/search/enums_3.js | 5 - c/doc/api_reference/search/enums_4.html | 26 - c/doc/api_reference/search/enums_4.js | 4 - c/doc/api_reference/search/files_0.html | 26 - c/doc/api_reference/search/files_0.js | 4 - c/doc/api_reference/search/files_1.html | 26 - c/doc/api_reference/search/files_1.js | 4 - c/doc/api_reference/search/files_2.html | 26 - c/doc/api_reference/search/files_2.js | 6 - c/doc/api_reference/search/files_3.html | 26 - c/doc/api_reference/search/files_3.js | 5 - c/doc/api_reference/search/files_4.html | 26 - c/doc/api_reference/search/files_4.js | 4 - c/doc/api_reference/search/files_5.html | 26 - c/doc/api_reference/search/files_5.js | 5 - c/doc/api_reference/search/files_6.html | 26 - c/doc/api_reference/search/files_6.js | 4 - c/doc/api_reference/search/functions_0.html | 26 - c/doc/api_reference/search/functions_0.js | 6 - c/doc/api_reference/search/functions_1.html | 26 - c/doc/api_reference/search/functions_1.js | 7 - c/doc/api_reference/search/functions_2.html | 26 - c/doc/api_reference/search/functions_2.js | 22 - c/doc/api_reference/search/functions_3.html | 26 - c/doc/api_reference/search/functions_3.js | 20 - c/doc/api_reference/search/functions_4.html | 26 - c/doc/api_reference/search/functions_4.js | 6 - c/doc/api_reference/search/functions_5.html | 26 - c/doc/api_reference/search/functions_5.js | 6 - c/doc/api_reference/search/functions_6.html | 26 - c/doc/api_reference/search/functions_6.js | 7 - c/doc/api_reference/search/functions_7.html | 26 - c/doc/api_reference/search/functions_7.js | 4 - c/doc/api_reference/search/mag_sel.png | Bin 563 -> 0 bytes c/doc/api_reference/search/nomatches.html | 12 - c/doc/api_reference/search/pages_0.html | 26 - c/doc/api_reference/search/pages_0.js | 4 - c/doc/api_reference/search/search.css | 271 --- c/doc/api_reference/search/search.js | 791 --------- c/doc/api_reference/search/search_l.png | Bin 604 -> 0 bytes c/doc/api_reference/search/search_m.png | Bin 158 -> 0 bytes c/doc/api_reference/search/search_r.png | Bin 612 -> 0 bytes c/doc/api_reference/search/searchdata.js | 39 - c/doc/api_reference/search/typedefs_0.html | 26 - c/doc/api_reference/search/typedefs_0.js | 7 - c/doc/api_reference/search/typedefs_1.html | 26 - c/doc/api_reference/search/typedefs_1.js | 8 - c/doc/api_reference/search/typedefs_2.html | 26 - c/doc/api_reference/search/typedefs_2.js | 4 - c/doc/api_reference/search/typedefs_3.html | 26 - c/doc/api_reference/search/typedefs_3.js | 5 - c/doc/api_reference/search/typedefs_4.html | 26 - c/doc/api_reference/search/typedefs_4.js | 4 - c/doc/api_reference/search/variables_0.html | 26 - c/doc/api_reference/search/variables_0.js | 5 - c/doc/api_reference/search/variables_1.html | 26 - c/doc/api_reference/search/variables_1.js | 5 - c/doc/api_reference/search/variables_2.html | 26 - c/doc/api_reference/search/variables_2.js | 4 - c/doc/api_reference/serializer_8h.html | 455 ------ c/doc/api_reference/serializer_8h_source.html | 1077 ------------ c/doc/api_reference/splitbar.png | Bin 282 -> 0 bytes ...b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html | 134 -- c/doc/api_reference/sync_off.png | Bin 815 -> 0 bytes c/doc/api_reference/sync_on.png | Bin 809 -> 0 bytes c/doc/api_reference/tab_a.png | Bin 124 -> 0 bytes c/doc/api_reference/tab_b.png | Bin 149 -> 0 bytes c/doc/api_reference/tab_h.png | Bin 145 -> 0 bytes c/doc/api_reference/tab_s.png | Bin 156 -> 0 bytes c/doc/api_reference/tabs.css | 60 - c/doc/api_reference/threadapi_8h.html | 272 --- c/doc/api_reference/threadapi_8h_source.html | 143 -- c/iothub_client/inc/iothub_message.h | 89 + 193 files changed, 763 insertions(+), 13576 deletions(-) delete mode 100644 c/doc/api_reference/agenttime_8h.html delete mode 100644 c/doc/api_reference/agenttime_8h_source.html delete mode 100644 c/doc/api_reference/annotated.html delete mode 100644 c/doc/api_reference/arrowdown.png delete mode 100644 c/doc/api_reference/arrowright.png delete mode 100644 c/doc/api_reference/base64_8h.html delete mode 100644 c/doc/api_reference/base64_8h_source.html delete mode 100644 c/doc/api_reference/bc_s.png delete mode 100644 c/doc/api_reference/bdwn.png delete mode 100644 c/doc/api_reference/classes.html delete mode 100644 c/doc/api_reference/closed.png delete mode 100644 c/doc/api_reference/dir_12d2b36f129c41023f7f4a6bff2578c5.html delete mode 100644 c/doc/api_reference/dir_1784a01aa976a8c78ef5dfc3737bcac8.html delete mode 100644 c/doc/api_reference/dir_3fa79a50e591a13d34768ad07721929e.html delete mode 100644 c/doc/api_reference/dir_4512fd3943e6edf693cef6803bd9b15b.html delete mode 100644 c/doc/api_reference/dir_72aec881c4ddd8f448eae7bd490815ae.html delete mode 100644 c/doc/api_reference/dir_cdcbff5a6a1122bd9bb23b5044523779.html delete mode 100644 c/doc/api_reference/dir_e7e6b493d3d7754f3ea1acccc5db86e9.html delete mode 100644 c/doc/api_reference/doc.png delete mode 100644 c/doc/api_reference/doxygen.css delete mode 100644 c/doc/api_reference/doxygen.png delete mode 100644 c/doc/api_reference/dynsections.js delete mode 100644 c/doc/api_reference/files.html delete mode 100644 c/doc/api_reference/folderclosed.png delete mode 100644 c/doc/api_reference/folderopen.png delete mode 100644 c/doc/api_reference/functions.html delete mode 100644 c/doc/api_reference/functions_vars.html delete mode 100644 c/doc/api_reference/globals.html delete mode 100644 c/doc/api_reference/globals_defs.html delete mode 100644 c/doc/api_reference/globals_enum.html delete mode 100644 c/doc/api_reference/globals_func.html delete mode 100644 c/doc/api_reference/globals_type.html create mode 100644 c/doc/api_reference/html/iothub__message_8h.html create mode 100644 c/doc/api_reference/html/iothub__message_8h_source.html delete mode 100644 c/doc/api_reference/httpapi_8h.html delete mode 100644 c/doc/api_reference/httpapi_8h_source.html delete mode 100644 c/doc/api_reference/httpapiex_8h.html delete mode 100644 c/doc/api_reference/httpapiex_8h_source.html delete mode 100644 c/doc/api_reference/httpheaders_8h.html delete mode 100644 c/doc/api_reference/httpheaders_8h_source.html delete mode 100644 c/doc/api_reference/index.html delete mode 100644 c/doc/api_reference/iothub__client_8h.html delete mode 100644 c/doc/api_reference/iothub__client_8h_source.html delete mode 100644 c/doc/api_reference/iothub__client__ll_8h.html delete mode 100644 c/doc/api_reference/iothub__client__ll_8h_source.html delete mode 100644 c/doc/api_reference/jquery.js delete mode 100644 c/doc/api_reference/lock_8h.html delete mode 100644 c/doc/api_reference/lock_8h_source.html delete mode 100644 c/doc/api_reference/nav_f.png delete mode 100644 c/doc/api_reference/nav_g.png delete mode 100644 c/doc/api_reference/nav_h.png delete mode 100644 c/doc/api_reference/open.png delete mode 100644 c/doc/api_reference/readme.md delete mode 100644 c/doc/api_reference/schemalib_8h.html delete mode 100644 c/doc/api_reference/schemalib_8h_source.html delete mode 100644 c/doc/api_reference/search/all_0.html delete mode 100644 c/doc/api_reference/search/all_0.js delete mode 100644 c/doc/api_reference/search/all_1.html delete mode 100644 c/doc/api_reference/search/all_1.js delete mode 100644 c/doc/api_reference/search/all_2.html delete mode 100644 c/doc/api_reference/search/all_2.js delete mode 100644 c/doc/api_reference/search/all_3.html delete mode 100644 c/doc/api_reference/search/all_3.js delete mode 100644 c/doc/api_reference/search/all_4.html delete mode 100644 c/doc/api_reference/search/all_4.js delete mode 100644 c/doc/api_reference/search/all_5.html delete mode 100644 c/doc/api_reference/search/all_5.js delete mode 100644 c/doc/api_reference/search/all_6.html delete mode 100644 c/doc/api_reference/search/all_6.js delete mode 100644 c/doc/api_reference/search/all_7.html delete mode 100644 c/doc/api_reference/search/all_7.js delete mode 100644 c/doc/api_reference/search/all_8.html delete mode 100644 c/doc/api_reference/search/all_8.js delete mode 100644 c/doc/api_reference/search/all_9.html delete mode 100644 c/doc/api_reference/search/all_9.js delete mode 100644 c/doc/api_reference/search/all_a.html delete mode 100644 c/doc/api_reference/search/all_a.js delete mode 100644 c/doc/api_reference/search/all_b.html delete mode 100644 c/doc/api_reference/search/all_b.js delete mode 100644 c/doc/api_reference/search/all_c.html delete mode 100644 c/doc/api_reference/search/all_c.js delete mode 100644 c/doc/api_reference/search/all_d.html delete mode 100644 c/doc/api_reference/search/all_d.js delete mode 100644 c/doc/api_reference/search/classes_0.html delete mode 100644 c/doc/api_reference/search/classes_0.js delete mode 100644 c/doc/api_reference/search/close.png delete mode 100644 c/doc/api_reference/search/defines_0.html delete mode 100644 c/doc/api_reference/search/defines_0.js delete mode 100644 c/doc/api_reference/search/defines_1.html delete mode 100644 c/doc/api_reference/search/defines_1.js delete mode 100644 c/doc/api_reference/search/defines_2.html delete mode 100644 c/doc/api_reference/search/defines_2.js delete mode 100644 c/doc/api_reference/search/defines_3.html delete mode 100644 c/doc/api_reference/search/defines_3.js delete mode 100644 c/doc/api_reference/search/defines_4.html delete mode 100644 c/doc/api_reference/search/defines_4.js delete mode 100644 c/doc/api_reference/search/defines_5.html delete mode 100644 c/doc/api_reference/search/defines_5.js delete mode 100644 c/doc/api_reference/search/enums_0.html delete mode 100644 c/doc/api_reference/search/enums_0.js delete mode 100644 c/doc/api_reference/search/enums_1.html delete mode 100644 c/doc/api_reference/search/enums_1.js delete mode 100644 c/doc/api_reference/search/enums_2.html delete mode 100644 c/doc/api_reference/search/enums_2.js delete mode 100644 c/doc/api_reference/search/enums_3.html delete mode 100644 c/doc/api_reference/search/enums_3.js delete mode 100644 c/doc/api_reference/search/enums_4.html delete mode 100644 c/doc/api_reference/search/enums_4.js delete mode 100644 c/doc/api_reference/search/files_0.html delete mode 100644 c/doc/api_reference/search/files_0.js delete mode 100644 c/doc/api_reference/search/files_1.html delete mode 100644 c/doc/api_reference/search/files_1.js delete mode 100644 c/doc/api_reference/search/files_2.html delete mode 100644 c/doc/api_reference/search/files_2.js delete mode 100644 c/doc/api_reference/search/files_3.html delete mode 100644 c/doc/api_reference/search/files_3.js delete mode 100644 c/doc/api_reference/search/files_4.html delete mode 100644 c/doc/api_reference/search/files_4.js delete mode 100644 c/doc/api_reference/search/files_5.html delete mode 100644 c/doc/api_reference/search/files_5.js delete mode 100644 c/doc/api_reference/search/files_6.html delete mode 100644 c/doc/api_reference/search/files_6.js delete mode 100644 c/doc/api_reference/search/functions_0.html delete mode 100644 c/doc/api_reference/search/functions_0.js delete mode 100644 c/doc/api_reference/search/functions_1.html delete mode 100644 c/doc/api_reference/search/functions_1.js delete mode 100644 c/doc/api_reference/search/functions_2.html delete mode 100644 c/doc/api_reference/search/functions_2.js delete mode 100644 c/doc/api_reference/search/functions_3.html delete mode 100644 c/doc/api_reference/search/functions_3.js delete mode 100644 c/doc/api_reference/search/functions_4.html delete mode 100644 c/doc/api_reference/search/functions_4.js delete mode 100644 c/doc/api_reference/search/functions_5.html delete mode 100644 c/doc/api_reference/search/functions_5.js delete mode 100644 c/doc/api_reference/search/functions_6.html delete mode 100644 c/doc/api_reference/search/functions_6.js delete mode 100644 c/doc/api_reference/search/functions_7.html delete mode 100644 c/doc/api_reference/search/functions_7.js delete mode 100644 c/doc/api_reference/search/mag_sel.png delete mode 100644 c/doc/api_reference/search/nomatches.html delete mode 100644 c/doc/api_reference/search/pages_0.html delete mode 100644 c/doc/api_reference/search/pages_0.js delete mode 100644 c/doc/api_reference/search/search.css delete mode 100644 c/doc/api_reference/search/search.js delete mode 100644 c/doc/api_reference/search/search_l.png delete mode 100644 c/doc/api_reference/search/search_m.png delete mode 100644 c/doc/api_reference/search/search_r.png delete mode 100644 c/doc/api_reference/search/searchdata.js delete mode 100644 c/doc/api_reference/search/typedefs_0.html delete mode 100644 c/doc/api_reference/search/typedefs_0.js delete mode 100644 c/doc/api_reference/search/typedefs_1.html delete mode 100644 c/doc/api_reference/search/typedefs_1.js delete mode 100644 c/doc/api_reference/search/typedefs_2.html delete mode 100644 c/doc/api_reference/search/typedefs_2.js delete mode 100644 c/doc/api_reference/search/typedefs_3.html delete mode 100644 c/doc/api_reference/search/typedefs_3.js delete mode 100644 c/doc/api_reference/search/typedefs_4.html delete mode 100644 c/doc/api_reference/search/typedefs_4.js delete mode 100644 c/doc/api_reference/search/variables_0.html delete mode 100644 c/doc/api_reference/search/variables_0.js delete mode 100644 c/doc/api_reference/search/variables_1.html delete mode 100644 c/doc/api_reference/search/variables_1.js delete mode 100644 c/doc/api_reference/search/variables_2.html delete mode 100644 c/doc/api_reference/search/variables_2.js delete mode 100644 c/doc/api_reference/serializer_8h.html delete mode 100644 c/doc/api_reference/serializer_8h_source.html delete mode 100644 c/doc/api_reference/splitbar.png delete mode 100644 c/doc/api_reference/struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html delete mode 100644 c/doc/api_reference/sync_off.png delete mode 100644 c/doc/api_reference/sync_on.png delete mode 100644 c/doc/api_reference/tab_a.png delete mode 100644 c/doc/api_reference/tab_b.png delete mode 100644 c/doc/api_reference/tab_h.png delete mode 100644 c/doc/api_reference/tab_s.png delete mode 100644 c/doc/api_reference/tabs.css delete mode 100644 c/doc/api_reference/threadapi_8h.html delete mode 100644 c/doc/api_reference/threadapi_8h_source.html diff --git a/build/docs/Doxyfile b/build/docs/Doxyfile index 31efcb19..b1685ff3 100644 --- a/build/docs/Doxyfile +++ b/build/docs/Doxyfile @@ -774,6 +774,7 @@ INPUT = mainpage.dox \ ../../c/common/inc/httpheaders.h \ ../../c/common/inc/threadapi.h \ ../../c/common/inc/lock.h \ + ../../c/iothub_client/inc/iothub_message.h \ ../../c/iothub_client/inc/iothub_client_ll.h \ ../../c/iothub_client/inc/iothub_client.h \ ../../c/serializer/inc/serializer.h \ diff --git a/c/doc/api_reference/agenttime_8h.html b/c/doc/api_reference/agenttime_8h.html deleted file mode 100644 index 94899af6..00000000 --- a/c/doc/api_reference/agenttime_8h.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/agenttime.h File Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
agenttime.h File Reference
-
-
- -

Function prototypes for time related functions. -More...

-
#include <time.h>
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

time_t get_time (time_t *currentTime)
 Get current calendar time. More...
 
struct tm * get_gmtime (time_t *currentTime)
 Get UTC in tm struct. More...
 
char * get_ctime (time_t *timeToGet)
 Gets a C-string representation of the given time. More...
 
double get_difftime (time_t stopTime, time_t startTime)
 Gets the difference in seconds between stopTime and startTime. More...
 
-

Detailed Description

-

Function prototypes for time related functions.

-

These functions are implemented with C standard functions, and therefore they are platform independent. But then a platform can replace these functions with its own implementation as necessary.

-

Function Documentation

- -
-
- - - - - - - - -
char* get_ctime (time_t * timeToGet)
-
- -

Gets a C-string representation of the given time.

-

This function provides the same functionality as the standard C ctime() function.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
double get_difftime (time_t stopTime,
time_t startTime 
)
-
- -

Gets the difference in seconds between stopTime and startTime.

-

This function provides the same functionality as the standard C difftime() function.

- -
-
- -
-
- - - - - - - - -
struct tm* get_gmtime (time_t * currentTime)
-
- -

Get UTC in tm struct.

-

This function provides the same functionality as the standard C gmtime() function.

- -
-
- -
-
- - - - - - - - -
time_t get_time (time_t * currentTime)
-
- -

Get current calendar time.

-

This function provides the same functionality as the standard C time() function.

- -
-
-
- - - - diff --git a/c/doc/api_reference/agenttime_8h_source.html b/c/doc/api_reference/agenttime_8h_source.html deleted file mode 100644 index 8ab1ed36..00000000 --- a/c/doc/api_reference/agenttime_8h_source.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/agenttime.h Source File - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
agenttime.h
-
-
-Go to the documentation of this file.
1 // Copyright (c) Microsoft. All rights reserved.
-
2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
3 
-
12 #ifndef AGENTTIME_H
-
13 #define AGENTTIME_H
-
14 
-
15 #include <time.h>
-
16 
-
17 #ifdef __cplusplus
-
18 extern "C"
-
19 {
-
20 #endif
-
21 
-
27 extern time_t get_time(time_t* currentTime);
-
28 
-
34 extern struct tm* get_gmtime(time_t* currentTime);
-
35 
-
41 extern char* get_ctime(time_t* timeToGet);
-
42 
-
49 extern double get_difftime(time_t stopTime, time_t startTime);
-
50 
-
51 #ifdef __cplusplus
-
52 }
-
53 #endif
-
54 
-
55 #endif // AGENTTIME_H
-
time_t get_time(time_t *currentTime)
Get current calendar time.
-
char * get_ctime(time_t *timeToGet)
Gets a C-string representation of the given time.
-
struct tm * get_gmtime(time_t *currentTime)
Get UTC in tm struct.
-
double get_difftime(time_t stopTime, time_t startTime)
Gets the difference in seconds between stopTime and startTime.
-
- - - - diff --git a/c/doc/api_reference/annotated.html b/c/doc/api_reference/annotated.html deleted file mode 100644 index 561cc1b7..00000000 --- a/c/doc/api_reference/annotated.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Data Structures - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
- -
-
- - -
- -
- -
-
-
Data Structures
-
-
-
Here are the data structures with brief descriptions:
- - -
 CIOTHUB_CLIENT_CONFIG_TAGThis struct captures IoTHub client configuration
-
-
- - - - diff --git a/c/doc/api_reference/arrowdown.png b/c/doc/api_reference/arrowdown.png deleted file mode 100644 index 9d1437d2010806e6ce1610d15a7ec44fbce925df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmVe21mjbI09ldh6KR{+5;4Ut*>snJQBn%-5Jp$5KZ1c zFW=1Uo5_5${-WzTIGPEZ!a3j%0xtVS+qRq76%<%EO*5^XU;!287-$fX^fvYeBRpsR z9RrQs!EM-~uWh)4-y8&Fmyg&Z`nu2f_x-?t(Jo~1L+taXT%~@3F=}nR3HvaE62*Y* r`Wm~AFQG*BA?4#2sB!+8{zJeQs>~svYa<7n00000NkvXXu0mjf_~v80 diff --git a/c/doc/api_reference/arrowright.png b/c/doc/api_reference/arrowright.png deleted file mode 100644 index a2fffb6fcffd16be189938656c53c9d2c7a52a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmV<90382`P)EWid>$&`W>cuROa+fa>f3JEvH8>Ugbo1ENCaZkSa z>pLL?fS>6Cl+X&G_q_1lU({C4xf4JRF9Ov-93|STuO*5?fFxG%sJWO*w2@>7kRm0B z)fZby7V1lhDgaB)A&$jaq8WfCM^KB25*z?5pSExljc1Tb5N~1BH2f~Xwdfsaa0u`X d?Qi@C!5#X2Cu4fy23i0B002ovPDHLkV1fr0Rs{e6 diff --git a/c/doc/api_reference/base64_8h.html b/c/doc/api_reference/base64_8h.html deleted file mode 100644 index 8c860718..00000000 --- a/c/doc/api_reference/base64_8h.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/base64.h File Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
base64.h File Reference
-
-
- -

Prototypes for functions related to encoding/decoding a buffer using standard base64 encoding. -More...

-
#include "strings.h"
-#include "buffer_.h"
-#include <stddef.h>
-
-

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

STRING_HANDLE Base64_Encode (BUFFER_HANDLE input)
 Base64 encodes a buffer and returns the resulting string. More...
 
STRING_HANDLE Base64_Encode_Bytes (const unsigned char *source, size_t size)
 Base64 encodes the buffer pointed to by source and returns the resulting string. More...
 
BUFFER_HANDLE Base64_Decoder (const char *source)
 Base64 decodes the buffer pointed to by source and returns the resulting buffer. More...
 
-

Detailed Description

-

Prototypes for functions related to encoding/decoding a buffer using standard base64 encoding.

-

Function Documentation

- -
-
- - - - - - - - -
BUFFER_HANDLE Base64_Decoder (const char * source)
-
- -

Base64 decodes the buffer pointed to by source and returns the resulting buffer.

-
Parameters
- - -
sourceA base64 encoded string buffer.
-
-
-

This function decodes the string pointed at by source using base64 decoding and returns the resulting buffer. If source is NULL then Base64_Decoder returns NULL. If the string pointed to by source is zero length then the handle returned refers to a zero length buffer. If there is any memory allocation failure during the decode or if the source string has an invalid length for a base 64 encoded string then Base64_Decoder returns NULL.

-
Returns
A BUFFER_HANDLE pointing to a buffer containing the result of base64 decoding source.
- -
-
- -
-
- - - - - - - - -
STRING_HANDLE Base64_Encode (BUFFER_HANDLE input)
-
- -

Base64 encodes a buffer and returns the resulting string.

-
Parameters
- - -
inputThe buffer that needs to be base64 encoded.
-
-
-

Base64_Encode takes as a parameter a pointer to a BUFFER. If input is NULL then Base64_Encode returns NULL. The size of the BUFFER pointed to by input may be zero. If when allocating memory to produce the encoding a failure occurs, then Base64_Encode returns NULL. Otherwise Base64_Encode returns a pointer to a STRING. That string contains the base 64 encoding of the input. This encoding of input will not contain embedded line feeds.

-
Returns
A STRING_HANDLE containing the base64 encoding of input.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
STRING_HANDLE Base64_Encode_Bytes (const unsigned char * source,
size_t size 
)
-
- -

Base64 encodes the buffer pointed to by source and returns the resulting string.

-
Parameters
- - - -
sourceThe buffer that needs to be base64 encoded.
sizeThe size.
-
-
-

This function produces a STRING_HANDLE containing the base64 encoding of the buffer pointed to by source, having the size as given by size. If source is NULL then Base64_Encode_Bytes returns NULL If source is not NULL and size is zero, then Base64_Encode_Bytes produces an empty STRING_HANDLE. Otherwise, Base64_Encode_Bytes produces a STRING_HANDLE containing the Base64 representation of the buffer. In case of any errors, Base64_Encode_Bytes returns NULL.].

-
Returns
NULL in case an error occurs or a STRING_HANDLE containing the base64 encoding of input.
- -
-
-
- - - - diff --git a/c/doc/api_reference/base64_8h_source.html b/c/doc/api_reference/base64_8h_source.html deleted file mode 100644 index 4533dbfd..00000000 --- a/c/doc/api_reference/base64_8h_source.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/base64.h Source File - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
base64.h
-
-
-Go to the documentation of this file.
1 // Copyright (c) Microsoft. All rights reserved.
-
2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
3 
-
9 #ifndef BASE64_H
-
10 #define BASE64_H
-
11 
-
12 #include "strings.h"
-
13 #include "buffer_.h"
-
14 
-
15 #ifdef __cplusplus
-
16 #include <cstddef>
-
17 extern "C" {
-
18 #else
-
19 #include <stddef.h>
-
20 #endif
-
21 
-
37 extern STRING_HANDLE Base64_Encode(BUFFER_HANDLE input);
-
38 
-
57 extern STRING_HANDLE Base64_Encode_Bytes(const unsigned char* source, size_t size);
-
58 
-
74 extern BUFFER_HANDLE Base64_Decoder(const char* source);
-
75 
-
76 #ifdef __cplusplus
-
77 }
-
78 #endif
-
79 
-
80 #endif /* BASE64_H */
-
STRING_HANDLE Base64_Encode_Bytes(const unsigned char *source, size_t size)
Base64 encodes the buffer pointed to by source and returns the resulting string.
-
STRING_HANDLE Base64_Encode(BUFFER_HANDLE input)
Base64 encodes a buffer and returns the resulting string.
-
BUFFER_HANDLE Base64_Decoder(const char *source)
Base64 decodes the buffer pointed to by source and returns the resulting buffer.
-
- - - - diff --git a/c/doc/api_reference/bc_s.png b/c/doc/api_reference/bc_s.png deleted file mode 100644 index fd162ea76db92647e51fbcd742f46c016f9f633d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmV-$0+0QPP)P1xSY#5Gv_zwo_qMFXPr)G77B$3>uj&r`%Xlh z3F&nDoK~w9)oQgknM@9eh%?r1w=ZZkn&&>B?-!oWbi3W(9I&^yC;3Ca-)}*c2LN8I z0^&bknNFuWcDwy9Vh&)fR!j04#@H|z3<~gJH2Y}@G@DH&-gP(}myAZ^5rBJ3pwVb3 z@hL$NJ_iDUKZpZ>W-?H(*H@3+_jo*;I-RZw;IRzUYPD4$jO0_d+kM>c_c#9sNb3V; zastO~4+evmtXi!S5ocQ_lj)AlW*eZ&RaU7~h={Wdl}a^66*$#-RxX!`h}QQb3@vOh z7!FveR3ai;-&gc{{e7p?ITBK-6cN$-erUB?gQ6(DX2oKWh&VebjU5A%H6kRFNh0Fx z7H$!O1l|va!xk$P3Pi-&N3YjwMERQlUa@>WznZ)Vbv<*rTtAVNCn+QniB(|NVzKBk z#pY}_dn*fOu~;ZcD+Y5JXA|DFmG?qC9#??dXwHu#jz*(Vd#Q(9E~ms_(A);f-vIDt zDf?I~Cixh?yoS*pBe}!<7tv@`Zq95rOJ6^k&*$$r(Ppz*2b%i^B}vbx$K&x2u0kXd z*+z42bbo;4J`r)oGMUU*NKA+F*8#|P=PKZuTWIbFk{KeR_5Bz9%d?zJLgcXk0000< KMNUMnLSTZcL=TGq diff --git a/c/doc/api_reference/bdwn.png b/c/doc/api_reference/bdwn.png deleted file mode 100644 index 7c943f0178f06cc641b5e069ca6ec290369c8023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZAWs*^kP61PbGdmN40v4bACM5r zTIh9bN{H5*6Afvc5igd$|7FR0AX>06Wj{mB%ley(%NinQz21C|{qXgxXSx!;y!{sI n`ypo8^JnkEb(nZRITbK9bxE6Z3Lmion$FgTe~DWM4fu|YD- diff --git a/c/doc/api_reference/classes.html b/c/doc/api_reference/classes.html deleted file mode 100644 index 2f59eb90..00000000 --- a/c/doc/api_reference/classes.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Data Structure Index - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
- -
-
- - -
- -
- -
-
-
Data Structure Index
-
-
- - - - - - -
  I  
-
IOTHUB_CLIENT_CONFIG_TAG   
- -
- - - - diff --git a/c/doc/api_reference/closed.png b/c/doc/api_reference/closed.png deleted file mode 100644 index e4e2b25adb14b76c58d22aa1e4122e0c3338d4ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VE}kxqAr*{o=U(JwP~dQh&wG{9 z7bU@>l`1S#9&h*6jlsikGp7o-gD)%l1R2KAyPsb#-E|=@%i8tlX|Z2rRtJQ;8nPKn XltlO!^KID#G>^g4)z4*}Q$iB}Y*r*7 diff --git a/c/doc/api_reference/dir_12d2b36f129c41023f7f4a6bff2578c5.html b/c/doc/api_reference/dir_12d2b36f129c41023f7f4a6bff2578c5.html deleted file mode 100644 index 1ea288bf..00000000 --- a/c/doc/api_reference/dir_12d2b36f129c41023f7f4a6bff2578c5.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/serializer Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
serializer Directory Reference
-
-
- - - - -

-Directories

directory  inc
 
-
- - - - diff --git a/c/doc/api_reference/dir_1784a01aa976a8c78ef5dfc3737bcac8.html b/c/doc/api_reference/dir_1784a01aa976a8c78ef5dfc3737bcac8.html deleted file mode 100644 index 74a1c902..00000000 --- a/c/doc/api_reference/dir_1784a01aa976a8c78ef5dfc3737bcac8.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
c Directory Reference
-
-
- - - - - - - - -

-Directories

directory  common
 
directory  iothub_client
 
directory  serializer
 
-
- - - - diff --git a/c/doc/api_reference/dir_3fa79a50e591a13d34768ad07721929e.html b/c/doc/api_reference/dir_3fa79a50e591a13d34768ad07721929e.html deleted file mode 100644 index bcff65a7..00000000 --- a/c/doc/api_reference/dir_3fa79a50e591a13d34768ad07721929e.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/iothub_client Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
iothub_client Directory Reference
-
-
- - - - -

-Directories

directory  inc
 
-
- - - - diff --git a/c/doc/api_reference/dir_4512fd3943e6edf693cef6803bd9b15b.html b/c/doc/api_reference/dir_4512fd3943e6edf693cef6803bd9b15b.html deleted file mode 100644 index e4c91f78..00000000 --- a/c/doc/api_reference/dir_4512fd3943e6edf693cef6803bd9b15b.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/serializer/inc Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
inc Directory Reference
-
-
- - - - - - - - -

-Files

file  schemalib.h [code]
 The IoT Hub Serializer APIs allows developers to define models for their devices.
 
file  serializer.h [code]
 The IoT Hub Serializer APIs allows developers to define models for their devices.
 
-
- - - - diff --git a/c/doc/api_reference/dir_72aec881c4ddd8f448eae7bd490815ae.html b/c/doc/api_reference/dir_72aec881c4ddd8f448eae7bd490815ae.html deleted file mode 100644 index 814cb314..00000000 --- a/c/doc/api_reference/dir_72aec881c4ddd8f448eae7bd490815ae.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/iothub_client/inc Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
inc Directory Reference
-
-
- - - - - - - - -

-Files

file  iothub_client.h [code]
 Extends the IoTHubCLient_LL module with additional features.
 
file  iothub_client_ll.h [code]
 APIs that allow a user (usually a device) to communicate with an Azure IoTHub.
 
-
- - - - diff --git a/c/doc/api_reference/dir_cdcbff5a6a1122bd9bb23b5044523779.html b/c/doc/api_reference/dir_cdcbff5a6a1122bd9bb23b5044523779.html deleted file mode 100644 index b775e106..00000000 --- a/c/doc/api_reference/dir_cdcbff5a6a1122bd9bb23b5044523779.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
common Directory Reference
-
-
- - - - -

-Directories

directory  inc
 
-
- - - - diff --git a/c/doc/api_reference/dir_e7e6b493d3d7754f3ea1acccc5db86e9.html b/c/doc/api_reference/dir_e7e6b493d3d7754f3ea1acccc5db86e9.html deleted file mode 100644 index 3f36d105..00000000 --- a/c/doc/api_reference/dir_e7e6b493d3d7754f3ea1acccc5db86e9.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc Directory Reference - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
inc Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  agenttime.h [code]
 Function prototypes for time related functions.
 
file  base64.h [code]
 Prototypes for functions related to encoding/decoding a buffer using standard base64 encoding.
 
file  httpapi.h [code]
 This module implements the standard HTTP API used by the C IoT client library.
 
file  httpapiex.h [code]
 This is a utility module that provides HTTP requests with build-in retry capabilities.
 
file  httpheaders.h [code]
 This is a utility module that handles HTTP message-headers.
 
file  lock.h [code]
 A minimalistic platform agnostic lock abstraction for thread synchronization.
 
file  threadapi.h [code]
 This module implements support for creating new threads, terminating threads and sleeping threads.
 
-
- - - - diff --git a/c/doc/api_reference/doc.png b/c/doc/api_reference/doc.png deleted file mode 100644 index 7f92e54f9bbca8844816fcd6aa869e13e3bdff4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652 zcmV;70(1R|P)cnV*D^DtB-yoj}pMkCRXU@YX~C0x&} z9Wh6k@f0T(r`TbInXqTA|6l9hLu<`uGk_n12jD01;{rZ_MYLM2*<>gq25CpcPUKZM8QF|aHPpU-E6Bq-virzi8hv$LaOXt&$0lj3NRQT`zR z+-QqvY3d#yAI-HywA6_$K3iX3U$VC)@xY=w{uh+S_xZwT$oo=@a zumr~pI-O3nEStxAnQ4w2PTT5BETBHZG?(Xi4ExBBd>+5SX zS$3#%Lf+oq%)a4p2(ScKi&VWTFBXd?OihulkB*MWX0t{xnM|^>vVtaVJRSoq;oFe4 zE-x>+zrSa5bJK*YQMD~(Z*R|#r_*Vs)2XY#w5EDwT|V08Vi2K;tQ!QmGWXySp48 zA9Hqg#^K>1+uPgbzFaPU9!LNuxOOnlK^dr8WgzbtGst8z-wOP7ij;w>&FAxu8E9Pp zJn_JnkE4L5Lgbo%5$NR3Uwq0yYyLK!cdBOq7U5`-HdiVYuCA^ODS#UkzA`#LKL=QX mqkwIL)o3&T{u%%OU*>O3D#HaCe_}EK0000 z^Fd)@VK)CI)Mo$y8VCS>A6+Rx@fjHz0K7XSBt!s90DuMpfIo(=6d+u>bO``zk*{+A zXdnQ%JT-3I7yx`y13&=q7t-$m$d439a_VzT{?yde06;CWpZDz9Q)EL(4(;f;=-9b) zXO4|e>~sfU-n+?HW#iNR(3j}bb=N6Zmu}t{)ZwS-7GBYrUx)7Fl#??6un^^=H5(GE zzQl&aYO&?Rr!(X$=BN-KM3>kVTREKT#$dMtlt7BzpAdp$-loKI~k-eto?! zC^R&5y3DH4qenY}f`Z`h@2}1)D=Se}RwfR*_%nO^_U#$ur5V4)) zB~OW_b8+9kePz}etD>R;0RaI3yjzp=r(BgU-Mo+FeF5*oH9w;z##XIbDIYg)-W+Gw zEx#$(g>nW+l#dnp!Gi~fbne_4ojP?g_;>Bv~+_gkO8@HJ=FvVA(XN03t=*dh4xkEnBt>En2hy0H0J{ zU5&>de;g-HoEW7UeT&N?w_w2neE8vqsnqGV>zqA%wgjL0$Rm%qr%s(}oF6-O4CBU) zD`rq(l8B{CmpYk9<32Mp6KmJ56@lRC)2GJ|A3hua>ZMhyR)IN5q~3Jujit`4)YMdq zPhwkuHQSRVh08?eQ#OXOP8NhmVgrEsNRNjrOb5s{VZwxz#~ypkl1yoB(w?McneSxX zci(+FK%ON_mRJ%Z2G*@xr@p1)J9Ow^-0=m0ucF}d&p(f(j^v1l2=~)ZKW(u)Wy%!w z+RSqK`T3xoYTne0f2WiAe=mTvJ3A@?RP_m4wY)|5*Qd*DoHo5FTeZ}AAInE z`X=y}M8E#}>sYa3MIwDor>{l)4l(=m%rnnm+qP{oFV3)iIbVG7MGJV-rcIOfE3M}G z-o1N!=FOW2z`G^ZqeqXb*Jv+p&1Zidpwc(reA8imJ#0UC=bd*_`6+$WQ&3=?drqgC z-708l1!kjT$BxC>vu7vE@9VC+E^GDb)fNY&{YWyY^EmY^W+3syh7Ggmuvh8Ci4!Fe zqbO5OnLGv?-K$qGgXfJm-jJ4*IB3wI6loD=0GLQ=Z@XzX<y+V5y?MU$YDW&f@VEyac%Ux%Vrl6qDJhngFWrQBDqxPBoIL=%J25d)USXsFVS_qWh~nVdNs4gj!__#)2k-@kt{`Exa$(Z1|5iP87pf4_15>Z`9xp-Fpl z+WpY)s5gf?U9qvTDKRn1ZME|9@{pUGD+#`yE!7nj6=mGfAMD+`7l3zn?b;Q0-g&2m z=gB9ZR0Y6d@^HS^x?>xQ3<(J-%FfOXF~|Sxv(HKqD1e-yp`o7Vo_o$BJY&WTQ5>lQ zBm>;M*qRj3Y<($X#*8t}*Q{A1ts#;8YOs>ebp<@JcieGDR(iVn3BbEG-c<4?+3Z)c z1^by_nzX2wUw#>F+O)Bpu}Y=T^3u}MoaO{d%-gqbkEHH`%lRqb+GPQtJ~HJo-B*q^ zfIPl@Qvk85Jc5|M4jecDx7%$2$m8(<@b1V+b(P3=mNI(uXycr%5^QOS?BZ@*E4C-BuQ`(dCP6~GZ|o9|Ni}rv-jVB9}hqLu<`q|&prbK&!Ozpy7Ws$ z^W{bIzTk3x3P5&Q0H}{lc}(|}V;vx0zA1ou_U!4AHlnZ6(o%46TL60Rz4rik_mCk& z6hLeVDN?2STDx|ww1!0TtK^fC(lx&&kQb#*G`N@;>KsehNT#S?(xi-Gsj|>!?S?=3S9E#@ptsy zci(OB%%49WUw!peBzX#WA4U6bEnK(|&6_s|fLgR<$r5=DspPk`Im%Wtfqr$#{rvOK zV8W{?qvj}iU3?uWBS(&`<*Sy+?h_|YjMh4XTI<%WlUJm&YM1@thaV6hAAg*mlWC*S z*f7!BSjvH^h(O`J{?YE_ZishTh z4I$b9ynDom5%SNUPE=-QW?GUfmGaFu->BEoxpQZiRD*dS^*REYMqj384Y01+WIb%MY{rdI8;K74ci`C?d?Y6}( z^JD;I&jDW)zW(}a1E5SMAWjsU*U6J7)&Ic2Kmf3iR!z<1HI5%Y-jXCqXkp=RMHL<% zZUOJ3k3Pc6l`FGZoe9*jm=v#pZP(Z7*vt;YXFwL zbm>y@A%?v9CZCHIEm{;(S3Ce++T(zTGBoQ$%vvdPq$CA_U$w>Iwb^YbO>>@{oF7=wp?NPBje`NUtg zt19xT_GaRZrOm9FGiTNrr}$@%L9>@gJ?WIag-7lwQ>MiA>C*=Q>Lp!X0P5boyJyCX z8O9xBlvoXbm8A(_ z3&YT%L+$<~Qjcoalnv&;cqTipfB*hqVgaBQ3D5@*9#lHN{q|cmg9My?Uu1-+%u-wr<@jZRLnK2Ee?tNeQb~tx`Y6jT@(&r+i#+ za4=f5Xra!ltE*8`Qi96L${dj)e~HFFUDN5X>6}X*)xyXlO~001-m4eHdk5{6O20O* zjEoFO;N%nE0eClM;xwBwGo0G7fbC?$Ld-8{`SRrwe+=~)ZBo-Aa-t`iMP$UP6cwww zkw0QPhqA|g#3J|E66^rU66d3}Z&7Y>4uECn=H>$M?%3E^krzXL z+EJA_Lq6pw0Q|Rzwp_!84NHlNlK6gGKmGI*TrSsf+LOu!;N9ep8#r)aW}7x`uz&x4 z?AfzNofBk)hK9ndN7l4y)8xhbQIDPuG z{5&S@_V(Lv$CfQyaP;WW<~21n5Nh1GF#yy_d-v|ercIl0)m2x`(T-X>ole|z(@g;I zhm*{(qM{=8Z2$xS{}j66h8u9{(xrZZfq{(tW3=jwzjOMO`9I&)f9pg{%3&$z_N`N z*Qryde^iSjFnPcJ`fG>g&71eq&zdx8A^`2=|4;cdkTDtUO<$#@rAsbeyckBgyQ{0K zjq_`+xke59mMvT2#~*)m^XL%CMIC(s;Lj$;r&^p2kPP*I0l@zNoznjQfBN+fQd`ok z0Pq*l5du`uM4q$EM2!HTfdJrdLcS*@05lK){H63CTk-+(MgWZ}00000NkvXXu0mjf D-zDsi diff --git a/c/doc/api_reference/dynsections.js b/c/doc/api_reference/dynsections.js deleted file mode 100644 index 85e18369..00000000 --- a/c/doc/api_reference/dynsections.js +++ /dev/null @@ -1,97 +0,0 @@ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - -Microsoft Azure IoT Device SDK for C: File List - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
-
[detail level 1234]
- - - - - - - - - - - - - - - - - - -
  c
  common
  inc
 agenttime.hFunction prototypes for time related functions
 base64.hPrototypes for functions related to encoding/decoding a buffer using standard base64 encoding
 httpapi.hThis module implements the standard HTTP API used by the C IoT client library
 httpapiex.hThis is a utility module that provides HTTP requests with build-in retry capabilities
 httpheaders.hThis is a utility module that handles HTTP message-headers
 lock.hA minimalistic platform agnostic lock abstraction for thread synchronization
 threadapi.hThis module implements support for creating new threads, terminating threads and sleeping threads
  iothub_client
  inc
 iothub_client.hExtends the IoTHubCLient_LL module with additional features
 iothub_client_ll.hAPIs that allow a user (usually a device) to communicate with an Azure IoTHub
  serializer
  inc
 schemalib.hThe IoT Hub Serializer APIs allows developers to define models for their devices
 serializer.hThe IoT Hub Serializer APIs allows developers to define models for their devices
-
-
- - - - diff --git a/c/doc/api_reference/folderclosed.png b/c/doc/api_reference/folderclosed.png deleted file mode 100644 index 359f2073ab18d12249da8c0f63e64dac853836f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 493 zcmVcnSpKB@lNY;uIWU55XLTOAL2_gp^l8N{obf_2QC>adp=$Gtv@F z(DE-=xvKozWp{TPgkcEqG9&30iswe7U5>I0Y0Q!t2w&{_C39*=9$M(?(Y+6+>DsmyOQn^ArjNa=Dxt7mGz!s};Ro@9pUo9S#R4G8^^fa(US8SnSv9 zm1NTEDo!8=PN$RO*xGNmn;BazHVaMuGy`!Uu=lJh=X3i4ll{YzTmB5#qUBW$E{NDgbK)*;}?mokt?+Elk9Kopi#&jF(F)?mF}e|opk*46b% zrBVP6VxNlpEC0LO?an)$&b-xX&6~}pL8H+ysMqU8%bMWcab~Zasnu%pJIVV$Gq`_u j{s8YiHL!LAZViKd{Yg*+weeQQZLm#cE44xRW+uT@B08h1{>ff@&5;K0FrPx9Q@sGht%kPzbmv_ExO&V1@J0T z0|gUV zuv)F$UazOJtyC(?Ye?qW7mGy&Q6Z3ZP&Y=SQAkN*4X)R#`e~vHv#%FgVDKL{UlQ2zW?n|-f9vXsd+TT-u+_RkVXon(_Bjoc(m3YZ#T zzuyC2rb*43MAzbFx`B|z1}zw(x8ZQ;1*7i;FE+2;ZYu;YIKb|TG4!#5YEByYW0X)TDg2x&V0V3h-00000NkvXXu0mjff?DA& diff --git a/c/doc/api_reference/functions.html b/c/doc/api_reference/functions.html deleted file mode 100644 index 3db6a00f..00000000 --- a/c/doc/api_reference/functions.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Data Fields - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
-
- - - - diff --git a/c/doc/api_reference/functions_vars.html b/c/doc/api_reference/functions_vars.html deleted file mode 100644 index 3362ee08..00000000 --- a/c/doc/api_reference/functions_vars.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/c/doc/api_reference/globals.html b/c/doc/api_reference/globals.html deleted file mode 100644 index d2165ecf..00000000 --- a/c/doc/api_reference/globals.html +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Globals - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- -

- b -

- - -

- d -

- - -

- e -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- l -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- w -

-
- - - - diff --git a/c/doc/api_reference/globals_defs.html b/c/doc/api_reference/globals_defs.html deleted file mode 100644 index fe30f513..00000000 --- a/c/doc/api_reference/globals_defs.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Globals - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/c/doc/api_reference/globals_enum.html b/c/doc/api_reference/globals_enum.html deleted file mode 100644 index 07b13af4..00000000 --- a/c/doc/api_reference/globals_enum.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Globals - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/c/doc/api_reference/globals_func.html b/c/doc/api_reference/globals_func.html deleted file mode 100644 index dbef2409..00000000 --- a/c/doc/api_reference/globals_func.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Globals - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- b -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- l -

- - -

- s -

- - -

- t -

- - -

- u -

-
- - - - diff --git a/c/doc/api_reference/globals_type.html b/c/doc/api_reference/globals_type.html deleted file mode 100644 index 227ce3b0..00000000 --- a/c/doc/api_reference/globals_type.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Globals - - - - - - - - - - -
-
- - - - - - -
-
Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
-
The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
-
-
- - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/c/doc/api_reference/html/dir_72aec881c4ddd8f448eae7bd490815ae.html b/c/doc/api_reference/html/dir_72aec881c4ddd8f448eae7bd490815ae.html index 814cb314..f07a32b1 100644 --- a/c/doc/api_reference/html/dir_72aec881c4ddd8f448eae7bd490815ae.html +++ b/c/doc/api_reference/html/dir_72aec881c4ddd8f448eae7bd490815ae.html @@ -93,6 +93,9 @@ Files file  iothub_client_ll.h [code]  APIs that allow a user (usually a device) to communicate with an Azure IoTHub.
  +file  iothub_message.h [code] + The IoTHub_Message component encapsulates one message that can be transferred by an IoT hub client.
diff --git a/c/doc/api_reference/html/files.html b/c/doc/api_reference/html/files.html index c191308b..b2cde9df 100644 --- a/c/doc/api_reference/html/files.html +++ b/c/doc/api_reference/html/files.html @@ -102,10 +102,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');   inc  iothub_client.hExtends the IoTHubCLient_LL module with additional features  iothub_client_ll.hAPIs that allow a user (usually a device) to communicate with an Azure IoTHub -  serializer -  inc - schemalib.hThe IoT Hub Serializer APIs allows developers to define models for their devices - serializer.hThe IoT Hub Serializer APIs allows developers to define models for their devices + iothub_message.hThe IoTHub_Message component encapsulates one message that can be transferred by an IoT hub client +  serializer +  inc + schemalib.hThe IoT Hub Serializer APIs allows developers to define models for their devices + serializer.hThe IoT Hub Serializer APIs allows developers to define models for their devices diff --git a/c/doc/api_reference/html/globals.html b/c/doc/api_reference/html/globals.html index d2165ecf..7167bc9f 100644 --- a/c/doc/api_reference/html/globals.html +++ b/c/doc/api_reference/html/globals.html @@ -270,6 +270,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • IOTHUB_CLIENT_STATUS_TAG : iothub_client_ll.h
  • +
  • IOTHUB_MESSAGE_RESULT +: iothub_message.h +
  • +
  • IOTHUB_MESSAGE_RESULT_TAG +: iothub_message.h +
  • IoTHubClient_Create() : iothub_client.h
  • @@ -321,12 +327,42 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • IoTHubClient_SetOption() : iothub_client.h
  • +
  • IoTHubMessage_Clone() +: iothub_message.h +
  • +
  • IOTHUBMESSAGE_CONTENT_TYPE +: iothub_message.h +
  • +
  • IOTHUBMESSAGE_CONTENT_TYPE_TAG +: iothub_message.h +
  • +
  • IoTHubMessage_CreateFromByteArray() +: iothub_message.h +
  • +
  • IoTHubMessage_CreateFromString() +: iothub_message.h +
  • +
  • IoTHubMessage_Destroy() +: iothub_message.h +
  • IOTHUBMESSAGE_DISPOSITION_RESULT : iothub_client_ll.h
  • IOTHUBMESSAGE_DISPOSITION_RESULT_TAG : iothub_client_ll.h
  • +
  • IoTHubMessage_GetByteArray() +: iothub_message.h +
  • +
  • IoTHubMessage_GetContentType() +: iothub_message.h +
  • +
  • IoTHubMessage_GetString() +: iothub_message.h +
  • +
  • IoTHubMessage_Properties() +: iothub_message.h +
  • diff --git a/c/doc/api_reference/html/globals_enum.html b/c/doc/api_reference/html/globals_enum.html index 07b13af4..e209511e 100644 --- a/c/doc/api_reference/html/globals_enum.html +++ b/c/doc/api_reference/html/globals_enum.html @@ -113,6 +113,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • IOTHUB_CLIENT_STATUS_TAG : iothub_client_ll.h
  • +
  • IOTHUB_MESSAGE_RESULT_TAG +: iothub_message.h +
  • +
  • IOTHUBMESSAGE_CONTENT_TYPE_TAG +: iothub_message.h +
  • IOTHUBMESSAGE_DISPOSITION_RESULT_TAG : iothub_client_ll.h
  • diff --git a/c/doc/api_reference/html/globals_func.html b/c/doc/api_reference/html/globals_func.html index dbef2409..f0348bad 100644 --- a/c/doc/api_reference/html/globals_func.html +++ b/c/doc/api_reference/html/globals_func.html @@ -247,6 +247,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • IoTHubClient_SetOption() : iothub_client.h
  • +
  • IoTHubMessage_Clone() +: iothub_message.h +
  • +
  • IoTHubMessage_CreateFromByteArray() +: iothub_message.h +
  • +
  • IoTHubMessage_CreateFromString() +: iothub_message.h +
  • +
  • IoTHubMessage_Destroy() +: iothub_message.h +
  • +
  • IoTHubMessage_GetByteArray() +: iothub_message.h +
  • +
  • IoTHubMessage_GetContentType() +: iothub_message.h +
  • +
  • IoTHubMessage_GetString() +: iothub_message.h +
  • +
  • IoTHubMessage_Properties() +: iothub_message.h +
  • diff --git a/c/doc/api_reference/html/globals_type.html b/c/doc/api_reference/html/globals_type.html index 227ce3b0..7d4290e1 100644 --- a/c/doc/api_reference/html/globals_type.html +++ b/c/doc/api_reference/html/globals_type.html @@ -116,6 +116,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • IOTHUB_CLIENT_STATUS : iothub_client_ll.h
  • +
  • IOTHUB_MESSAGE_RESULT +: iothub_message.h +
  • +
  • IOTHUBMESSAGE_CONTENT_TYPE +: iothub_message.h +
  • IOTHUBMESSAGE_DISPOSITION_RESULT : iothub_client_ll.h
  • diff --git a/c/doc/api_reference/html/iothub__client_8h.html b/c/doc/api_reference/html/iothub__client_8h.html index 9553bee9..6375dc69 100644 --- a/c/doc/api_reference/html/iothub__client_8h.html +++ b/c/doc/api_reference/html/iothub__client_8h.html @@ -192,7 +192,7 @@ Functions

    Sample connection string:

    -
    HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];
    +
    HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];
    Returns
    A non-NULL IOTHUB_CLIENT_LL_HANDLE value that is used when invoking other functions for IoT Hub client and NULL on failure.
    diff --git a/c/doc/api_reference/html/iothub__client__ll_8h.html b/c/doc/api_reference/html/iothub__client__ll_8h.html index a870239e..bf211e5d 100644 --- a/c/doc/api_reference/html/iothub__client__ll_8h.html +++ b/c/doc/api_reference/html/iothub__client__ll_8h.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); More...

    #include "agenttime.h"
    #include "macro_utils.h"
    -#include "iothub_message.h"
    +#include "iothub_message.h"

    Go to the source code of this file.

    @@ -242,7 +242,7 @@ Functions

    Sample connection string:

    -
    HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];
    +
    HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];
    Returns
    A non-NULL IOTHUB_CLIENT_LL_HANDLE value that is used when invoking other functions for IoT Hub client and NULL on failure.
    diff --git a/c/doc/api_reference/html/iothub__client__ll_8h_source.html b/c/doc/api_reference/html/iothub__client__ll_8h_source.html index 5f0cb830..77f45b8d 100644 --- a/c/doc/api_reference/html/iothub__client__ll_8h_source.html +++ b/c/doc/api_reference/html/iothub__client__ll_8h_source.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    27 
    28 #include "macro_utils.h"
    29 
    -
    30 #include "iothub_message.h"
    +
    30 #include "iothub_message.h"
    31 
    32 #ifdef __cplusplus
    33 extern "C"
    @@ -199,6 +199,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    enum IOTHUBMESSAGE_DISPOSITION_RESULT_TAG IOTHUBMESSAGE_DISPOSITION_RESULT
    Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the dev...
    void IoTHubClient_LL_DoWork(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
    This function is meant to be called by the user when work (sending/receiving) can be done by the IoTH...
    const char * deviceKey
    The device key used to authenticate the device.
    Definition: iothub_client_ll.h:103
    +
    The IoTHub_Message component encapsulates one message that can be transferred by an IoT hub client...
    Function prototypes for time related functions.
    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString(const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)
    Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection st...
    This struct captures IoTHub client configuration.
    Definition: iothub_client_ll.h:90
    diff --git a/c/doc/api_reference/html/iothub__message_8h.html b/c/doc/api_reference/html/iothub__message_8h.html new file mode 100644 index 00000000..51be9b0e --- /dev/null +++ b/c/doc/api_reference/html/iothub__message_8h.html @@ -0,0 +1,392 @@ + + + + + + +Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_message.h File Reference + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    Microsoft Azure IoT Device SDK for C +  1.0.0-preview.1.0.0 +
    +
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    +
    + + + + + + + +
    +
    + + +
    + +
    + + + +
    + +
    +
    iothub_message.h File Reference
    +
    +
    + +

    The IoTHub_Message component encapsulates one message that can be transferred by an IoT hub client. +More...

    +
    #include "macro_utils.h"
    +#include "map.h"
    +#include <stddef.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Typedefs

    +typedef enum IOTHUB_MESSAGE_RESULT_TAG IOTHUB_MESSAGE_RESULT
     Enumeration specifying the status of calls to various APIs in this module.
     
    +typedef enum IOTHUBMESSAGE_CONTENT_TYPE_TAG IOTHUBMESSAGE_CONTENT_TYPE
     Enumeration specifying the content type of the a given message.
     
    + + + + + + + +

    +Enumerations

    enum  IOTHUB_MESSAGE_RESULT_TAG
     Enumeration specifying the status of calls to various APIs in this module.
     
    enum  IOTHUBMESSAGE_CONTENT_TYPE_TAG
     Enumeration specifying the content type of the a given message.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray (const unsigned char *byteArray, size_t size)
     Creates a new IoT hub message from a byte array. The type of the message will be set to IOTHUBMESSAGE_BYTEARRAY. More...
     
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString (const char *source)
     Creates a new IoT hub message from a null terminated string. The type of the message will be set to IOTHUBMESSAGE_STRING. More...
     
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
     Creates a new IoT hub message with the content identical to that of the iotHubMessageHandle parameter. More...
     
    IOTHUB_MESSAGE_RESULT IoTHubMessage_GetByteArray (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, const unsigned char **buffer, size_t *size)
     Fetches a pointer and size for the data associated with the IoT hub message handle. If the content type of the message is not IOTHUBMESSAGE_BYTEARRAY then the function returns IOTHUB_MESSAGE_INVALID_ARG. More...
     
    const char * IoTHubMessage_GetString (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
     Returns the null terminated string stored in the message. If the content type of the message is not IOTHUBMESSAGE_STRING then the function returns NULL. More...
     
    IOTHUBMESSAGE_CONTENT_TYPE IoTHubMessage_GetContentType (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
     Returns the content type of the message given by parameter iotHubMessageHandle. More...
     
    MAP_HANDLE IoTHubMessage_Properties (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
     Gets a handle to the message's properties map. More...
     
    void IoTHubMessage_Destroy (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
     Frees all resources associated with the given message handle. More...
     
    +

    Detailed Description

    +

    The IoTHub_Message component encapsulates one message that can be transferred by an IoT hub client.

    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    +
    + +

    Creates a new IoT hub message with the content identical to that of the iotHubMessageHandle parameter.

    +
    Parameters
    + + +
    iotHubMessageHandleHandle to the message that is to be cloned.
    +
    +
    +
    Returns
    A valid IOTHUB_MESSAGE_HANDLE if the message was successfully cloned or NULL in case an error occurs.
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray (const unsigned char * byteArray,
    size_t size 
    )
    +
    + +

    Creates a new IoT hub message from a byte array. The type of the message will be set to IOTHUBMESSAGE_BYTEARRAY.

    +
    Parameters
    + + + +
    byteArrayThe byte array from which the message is to be created.
    sizeThe size of the byte array.
    +
    +
    +
    Returns
    A valid IOTHUB_MESSAGE_HANDLE if the message was successfully created or NULL in case an error occurs.
    + +
    +
    + +
    +
    + + + + + + + + +
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString (const char * source)
    +
    + +

    Creates a new IoT hub message from a null terminated string. The type of the message will be set to IOTHUBMESSAGE_STRING.

    +
    Parameters
    + + +
    sourceThe null terminated string from which the message is to be created.
    +
    +
    +
    Returns
    A valid IOTHUB_MESSAGE_HANDLE if the message was successfully created or NULL in case an error occurs.
    + +
    +
    + +
    +
    + + + + + + + + +
    void IoTHubMessage_Destroy (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    +
    + +

    Frees all resources associated with the given message handle.

    +
    Parameters
    + + +
    iotHubMessageHandleHandle to the message.
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    IOTHUB_MESSAGE_RESULT IoTHubMessage_GetByteArray (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle,
    const unsigned char ** buffer,
    size_t * size 
    )
    +
    + +

    Fetches a pointer and size for the data associated with the IoT hub message handle. If the content type of the message is not IOTHUBMESSAGE_BYTEARRAY then the function returns IOTHUB_MESSAGE_INVALID_ARG.

    +
    Parameters
    + + + + +
    iotHubMessageHandleHandle to the message.
    bufferPointer to the memory location where the pointer to the buffer will be written.
    sizeThe size of the buffer will be written to this address.
    +
    +
    +
    Returns
    Returns IOTHUB_MESSAGE_OK if the byte array was fetched successfully or an error code otherwise.
    + +
    +
    + +
    +
    + + + + + + + + +
    IOTHUBMESSAGE_CONTENT_TYPE IoTHubMessage_GetContentType (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    +
    + +

    Returns the content type of the message given by parameter iotHubMessageHandle.

    +
    Parameters
    + + +
    iotHubMessageHandleHandle to the message.
    +
    +
    +
    Returns
    An IOTHUBMESSAGE_CONTENT_TYPE value.
    + +
    +
    + +
    +
    + + + + + + + + +
    const char* IoTHubMessage_GetString (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    +
    + +

    Returns the null terminated string stored in the message. If the content type of the message is not IOTHUBMESSAGE_STRING then the function returns NULL.

    +
    Parameters
    + + +
    iotHubMessageHandleHandle to the message.
    +
    +
    +
    Returns
    NULL if an error occurs or a pointer to the stored null terminated string otherwise.
    + +
    +
    + +
    +
    + + + + + + + + +
    MAP_HANDLE IoTHubMessage_Properties (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    +
    + +

    Gets a handle to the message's properties map.

    +
    Parameters
    + + +
    iotHubMessageHandleHandle to the message.
    +
    +
    +
    Returns
    A MAP_HANDLE pointing to the properties map for this message.
    + +
    +
    +
    + + + + diff --git a/c/doc/api_reference/html/iothub__message_8h_source.html b/c/doc/api_reference/html/iothub__message_8h_source.html new file mode 100644 index 00000000..41e58abe --- /dev/null +++ b/c/doc/api_reference/html/iothub__message_8h_source.html @@ -0,0 +1,168 @@ + + + + + + +Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_message.h Source File + + + + + + + + + + +
    +
    + + + + + + +
    +
    Microsoft Azure IoT Device SDK for C +  1.0.0-preview.1.0.0 +
    +
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    +
    +
    + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    iothub_message.h
    +
    +
    +Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    +
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    +
    3 
    +
    9 #ifndef IOTHUB_MESSAGE_H
    +
    10 #define IOTHUB_MESSAGE_H
    +
    11 
    +
    12 #include "macro_utils.h"
    +
    13 #include "map.h"
    +
    14 
    +
    15 #ifdef __cplusplus
    +
    16 #include <cstddef>
    +
    17 extern "C"
    +
    18 {
    +
    19 #else
    +
    20 #include <stddef.h>
    +
    21 #endif
    +
    22 
    +
    23 #define IOTHUB_MESSAGE_RESULT_VALUES \
    +
    24  IOTHUB_MESSAGE_OK, \
    +
    25  IOTHUB_MESSAGE_INVALID_ARG, \
    +
    26  IOTHUB_MESSAGE_INVALID_TYPE, \
    +
    27  IOTHUB_MESSAGE_ERROR \
    +
    28 
    +
    29 
    +
    32 DEFINE_ENUM(IOTHUB_MESSAGE_RESULT, IOTHUB_MESSAGE_RESULT_VALUES);
    +
    33 
    +
    34 #define IOTHUBMESSAGE_CONTENT_TYPE_VALUES \
    +
    35 IOTHUBMESSAGE_BYTEARRAY, \
    +
    36 IOTHUBMESSAGE_STRING, \
    +
    37 IOTHUBMESSAGE_UNKNOWN \
    +
    38 
    +
    39 
    +
    42 DEFINE_ENUM(IOTHUBMESSAGE_CONTENT_TYPE, IOTHUBMESSAGE_CONTENT_TYPE_VALUES);
    +
    43 
    +
    44 typedef void* IOTHUB_MESSAGE_HANDLE;
    +
    45 
    +
    56 extern IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray(const unsigned char* byteArray, size_t size);
    +
    57 
    +
    68 extern IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString(const char* source);
    +
    69 
    +
    79 extern IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);
    +
    80 
    +
    96 extern IOTHUB_MESSAGE_RESULT IoTHubMessage_GetByteArray(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, const unsigned char** buffer, size_t* size);
    +
    97 
    +
    108 extern const char* IoTHubMessage_GetString(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);
    +
    109 
    +
    118 extern IOTHUBMESSAGE_CONTENT_TYPE IoTHubMessage_GetContentType(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);
    +
    119 
    +
    127 extern MAP_HANDLE IoTHubMessage_Properties(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);
    +
    128 
    +
    134 extern void IoTHubMessage_Destroy(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);
    +
    135 
    +
    136 #ifdef __cplusplus
    +
    137 }
    +
    138 #endif
    +
    139 
    +
    140 #endif /* IOTHUB_MESSAGE_H */
    +
    IOTHUBMESSAGE_CONTENT_TYPE IoTHubMessage_GetContentType(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    Returns the content type of the message given by parameter iotHubMessageHandle.
    +
    void IoTHubMessage_Destroy(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    Frees all resources associated with the given message handle.
    +
    enum IOTHUB_MESSAGE_RESULT_TAG IOTHUB_MESSAGE_RESULT
    Enumeration specifying the status of calls to various APIs in this module.
    +
    MAP_HANDLE IoTHubMessage_Properties(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    Gets a handle to the message's properties map.
    +
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    Creates a new IoT hub message with the content identical to that of the iotHubMessageHandle parameter...
    +
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray(const unsigned char *byteArray, size_t size)
    Creates a new IoT hub message from a byte array. The type of the message will be set to IOTHUBMESSAGE...
    +
    enum IOTHUBMESSAGE_CONTENT_TYPE_TAG IOTHUBMESSAGE_CONTENT_TYPE
    Enumeration specifying the content type of the a given message.
    +
    IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString(const char *source)
    Creates a new IoT hub message from a null terminated string. The type of the message will be set to I...
    +
    IOTHUB_MESSAGE_RESULT IoTHubMessage_GetByteArray(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, const unsigned char **buffer, size_t *size)
    Fetches a pointer and size for the data associated with the IoT hub message handle. If the content type of the message is not IOTHUBMESSAGE_BYTEARRAY then the function returns IOTHUB_MESSAGE_INVALID_ARG.
    +
    const char * IoTHubMessage_GetString(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
    Returns the null terminated string stored in the message. If the content type of the message is not I...
    +
    + + + + diff --git a/c/doc/api_reference/html/search/all_6.js b/c/doc/api_reference/html/search/all_6.js index d7c70df2..f92e3701 100644 --- a/c/doc/api_reference/html/search/all_6.js +++ b/c/doc/api_reference/html/search/all_6.js @@ -10,6 +10,9 @@ var searchData= ['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]], ['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]], ['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]], + ['iothub_5fmessage_2eh',['iothub_message.h',['../iothub__message_8h.html',1,'']]], + ['iothub_5fmessage_5fresult',['IOTHUB_MESSAGE_RESULT',['../iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f',1,'iothub_message.h']]], + ['iothub_5fmessage_5fresult_5ftag',['IOTHUB_MESSAGE_RESULT_TAG',['../iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b',1,'iothub_message.h']]], ['iothubclient_5fcreate',['IoTHubClient_Create',['../iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d',1,'iothub_client.h']]], ['iothubclient_5fcreatefromconnectionstring',['IoTHubClient_CreateFromConnectionString',['../iothub__client_8h.html#a190e08e1201046fda675517070d63e83',1,'iothub_client.h']]], ['iothubclient_5fdestroy',['IoTHubClient_Destroy',['../iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83',1,'iothub_client.h']]], @@ -27,8 +30,18 @@ var searchData= ['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]], ['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]], ['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]], + ['iothubmessage_5fclone',['IoTHubMessage_Clone',['../iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4',1,'iothub_message.h']]], + ['iothubmessage_5fcontent_5ftype',['IOTHUBMESSAGE_CONTENT_TYPE',['../iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27',1,'iothub_message.h']]], + ['iothubmessage_5fcontent_5ftype_5ftag',['IOTHUBMESSAGE_CONTENT_TYPE_TAG',['../iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669',1,'iothub_message.h']]], + ['iothubmessage_5fcreatefrombytearray',['IoTHubMessage_CreateFromByteArray',['../iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f',1,'iothub_message.h']]], + ['iothubmessage_5fcreatefromstring',['IoTHubMessage_CreateFromString',['../iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db',1,'iothub_message.h']]], + ['iothubmessage_5fdestroy',['IoTHubMessage_Destroy',['../iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf',1,'iothub_message.h']]], ['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]], ['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]], + ['iothubmessage_5fgetbytearray',['IoTHubMessage_GetByteArray',['../iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957',1,'iothub_message.h']]], + ['iothubmessage_5fgetcontenttype',['IoTHubMessage_GetContentType',['../iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c',1,'iothub_message.h']]], + ['iothubmessage_5fgetstring',['IoTHubMessage_GetString',['../iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41',1,'iothub_message.h']]], + ['iothubmessage_5fproperties',['IoTHubMessage_Properties',['../iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2',1,'iothub_message.h']]], ['iothubname',['iotHubName',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c',1,'IOTHUB_CLIENT_CONFIG_TAG']]], ['iothubsuffix',['iotHubSuffix',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68',1,'IOTHUB_CLIENT_CONFIG_TAG']]] ]; diff --git a/c/doc/api_reference/html/search/enums_1.js b/c/doc/api_reference/html/search/enums_1.js index 17e7fabb..f8d0f057 100644 --- a/c/doc/api_reference/html/search/enums_1.js +++ b/c/doc/api_reference/html/search/enums_1.js @@ -3,5 +3,7 @@ var searchData= ['iothub_5fclient_5fconfirmation_5fresult_5ftag',['IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG',['../iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7',1,'iothub_client_ll.h']]], ['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]], ['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]], + ['iothub_5fmessage_5fresult_5ftag',['IOTHUB_MESSAGE_RESULT_TAG',['../iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b',1,'iothub_message.h']]], + ['iothubmessage_5fcontent_5ftype_5ftag',['IOTHUBMESSAGE_CONTENT_TYPE_TAG',['../iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669',1,'iothub_message.h']]], ['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]] ]; diff --git a/c/doc/api_reference/html/search/files_3.js b/c/doc/api_reference/html/search/files_3.js index a869252b..7fb091e0 100644 --- a/c/doc/api_reference/html/search/files_3.js +++ b/c/doc/api_reference/html/search/files_3.js @@ -1,5 +1,6 @@ var searchData= [ ['iothub_5fclient_2eh',['iothub_client.h',['../iothub__client_8h.html',1,'']]], - ['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]] + ['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]], + ['iothub_5fmessage_2eh',['iothub_message.h',['../iothub__message_8h.html',1,'']]] ]; diff --git a/c/doc/api_reference/html/search/functions_3.js b/c/doc/api_reference/html/search/functions_3.js index 01c66ea0..ac08304a 100644 --- a/c/doc/api_reference/html/search/functions_3.js +++ b/c/doc/api_reference/html/search/functions_3.js @@ -16,5 +16,13 @@ var searchData= ['iothubclient_5fll_5fsetoption',['IoTHubClient_LL_SetOption',['../iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2',1,'iothub_client_ll.h']]], ['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]], ['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]], - ['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]] + ['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]], + ['iothubmessage_5fclone',['IoTHubMessage_Clone',['../iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4',1,'iothub_message.h']]], + ['iothubmessage_5fcreatefrombytearray',['IoTHubMessage_CreateFromByteArray',['../iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f',1,'iothub_message.h']]], + ['iothubmessage_5fcreatefromstring',['IoTHubMessage_CreateFromString',['../iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db',1,'iothub_message.h']]], + ['iothubmessage_5fdestroy',['IoTHubMessage_Destroy',['../iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf',1,'iothub_message.h']]], + ['iothubmessage_5fgetbytearray',['IoTHubMessage_GetByteArray',['../iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957',1,'iothub_message.h']]], + ['iothubmessage_5fgetcontenttype',['IoTHubMessage_GetContentType',['../iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c',1,'iothub_message.h']]], + ['iothubmessage_5fgetstring',['IoTHubMessage_GetString',['../iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41',1,'iothub_message.h']]], + ['iothubmessage_5fproperties',['IoTHubMessage_Properties',['../iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2',1,'iothub_message.h']]] ]; diff --git a/c/doc/api_reference/html/search/typedefs_1.js b/c/doc/api_reference/html/search/typedefs_1.js index bf817d34..84010276 100644 --- a/c/doc/api_reference/html/search/typedefs_1.js +++ b/c/doc/api_reference/html/search/typedefs_1.js @@ -4,5 +4,7 @@ var searchData= ['iothub_5fclient_5fconfirmation_5fresult',['IOTHUB_CLIENT_CONFIRMATION_RESULT',['../iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b',1,'iothub_client_ll.h']]], ['iothub_5fclient_5fresult',['IOTHUB_CLIENT_RESULT',['../iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd',1,'iothub_client_ll.h']]], ['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]], + ['iothub_5fmessage_5fresult',['IOTHUB_MESSAGE_RESULT',['../iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f',1,'iothub_message.h']]], + ['iothubmessage_5fcontent_5ftype',['IOTHUBMESSAGE_CONTENT_TYPE',['../iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27',1,'iothub_message.h']]], ['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]] ]; diff --git a/c/doc/api_reference/httpapi_8h.html b/c/doc/api_reference/httpapi_8h.html deleted file mode 100644 index 05973c31..00000000 --- a/c/doc/api_reference/httpapi_8h.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/httpapi.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    httpapi.h File Reference
    -
    -
    - -

    This module implements the standard HTTP API used by the C IoT client library. -More...

    -
    #include "httpheaders.h"
    -#include "macro_utils.h"
    -#include "buffer_.h"
    -#include <stddef.h>
    -
    -

    Go to the source code of this file.

    - - - - - - - - -

    -Typedefs

    -typedef enum HTTPAPI_RESULT_TAG HTTPAPI_RESULT
     Enumeration specifying the possible return values for the APIs in this module.
     
    -typedef enum HTTPAPI_REQUEST_TYPE_TAG HTTPAPI_REQUEST_TYPE
     Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module.
     
    - - - - - - - -

    -Enumerations

    enum  HTTPAPI_RESULT_TAG
     Enumeration specifying the possible return values for the APIs in this module.
     
    enum  HTTPAPI_REQUEST_TYPE_TAG
     Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module.
     
    - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    HTTPAPI_RESULT HTTPAPI_Init (void)
     Global initialization for the HTTP API component. More...
     
    -void HTTPAPI_Deinit (void)
     Free resources allocated in HTTPAPI_Init.
     
    HTTP_HANDLE HTTPAPI_CreateConnection (const char *hostName)
     Creates an HTTPS connection to the host specified by the hostName parameter. More...
     
    void HTTPAPI_CloseConnection (HTTP_HANDLE handle)
     Closes a connection created with HTTPAPI_CreateConnection. More...
     
    HTTPAPI_RESULT HTTPAPI_ExecuteRequest (HTTP_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char *relativePath, HTTP_HEADERS_HANDLE httpHeadersHandle, const unsigned char *content, size_t contentLength, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHeadersHandle, BUFFER_HANDLE responseContent)
     Sends the HTTP request to the host and handles the response for the HTTP call. More...
     
    HTTPAPI_RESULT HTTPAPI_SetOption (HTTP_HANDLE handle, const char *optionName, const void *value)
     Sets the option named optionName bearing the value value for the HTTP_HANDLE handle. More...
     
    HTTPAPI_RESULT HTTPAPI_CloneOption (const char *optionName, const void *value, const void **savedValue)
     Clones the option named optionName bearing the value value into the pointer savedValue. More...
     
    -

    Detailed Description

    -

    This module implements the standard HTTP API used by the C IoT client library.

    -

    For example, on the Windows platform the HTTP API code uses WinHTTP and for Linux it uses curl and so forth. HTTPAPI must support HTTPs (HTTP+SSL).

    -

    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTPAPI_RESULT HTTPAPI_CloneOption (const char * optionName,
    const void * value,
    const void ** savedValue 
    )
    -
    - -

    Clones the option named optionName bearing the value value into the pointer savedValue.

    -
    Parameters
    - - - - -
    optionNameA NULL terminated string representing the name of the option
    valueA pointer to the value of the option.
    savedValueThis pointer receives the copy of the value of the option. The copy needs to be free-able.
    -
    -
    -
    Returns
    HTTPAPI_OK if initialization is successful or an error code in case it fails.
    - -
    -
    - -
    -
    - - - - - - - - -
    void HTTPAPI_CloseConnection (HTTP_HANDLE handle)
    -
    - -

    Closes a connection created with HTTPAPI_CreateConnection.

    -
    Parameters
    - - -
    handleThe handle to the HTTP connection created via HTTPAPI_CreateConnection.
    -
    -
    -

    All resources allocated by HTTPAPI_CreateConnection should be freed in HTTPAPI_CloseConnection.

    - -
    -
    - -
    -
    - - - - - - - - -
    HTTP_HANDLE HTTPAPI_CreateConnection (const char * hostName)
    -
    - -

    Creates an HTTPS connection to the host specified by the hostName parameter.

    -
    Parameters
    - - -
    hostNameName of the host.
    -
    -
    -

    This function returns a handle to the newly created connection. You can use the handle in subsequent calls to execute specific HTTP calls using HTTPAPI_ExecuteRequest.

    -
    Returns
    A HTTP_HANDLE to the newly created connection or NULL in case an error occurs.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTPAPI_RESULT HTTPAPI_ExecuteRequest (HTTP_HANDLE handle,
    HTTPAPI_REQUEST_TYPE requestType,
    const char * relativePath,
    HTTP_HEADERS_HANDLE httpHeadersHandle,
    const unsigned char * content,
    size_t contentLength,
    unsigned int * statusCode,
    HTTP_HEADERS_HANDLE responseHeadersHandle,
    BUFFER_HANDLE responseContent 
    )
    -
    - -

    Sends the HTTP request to the host and handles the response for the HTTP call.

    -
    Parameters
    - - - - - - - - - - -
    handleThe handle to the HTTP connection created via HTTPAPI_CreateConnection.
    requestTypeSpecifies which HTTP method is used (GET, POST, DELETE, PUT, PATCH).
    relativePathSpecifies the relative path of the URL excluding the host name.
    httpHeadersHandleSpecifies a set of HTTP headers (name-value pairs) to be added to the HTTP request. The httpHeadersHandle handle can be created and setup with the proper name-value pairs by using the HTTPHeaders APIs available in HTTPHeaders.h.
    contentSpecifies a pointer to the request body. This value is optional and can be NULL.
    contentLengthSpecifies the request body size (this is typically added into the HTTP headers as the Content-Length header). This value is optional and can be 0.
    statusCodeThis is an out parameter, where HTTPAPI_ExecuteRequest returns the status code from the HTTP response (200, 201, 400, 401, etc.)
    responseHeadersHandleThis is an HTTP headers handle to which HTTPAPI_ExecuteRequest must add all the HTTP response headers so that the caller of HTTPAPI_ExecuteRequest can inspect them. You can manipulate responseHeadersHandle by using the HTTPHeaders APIs available in HTTPHeaders.h
    responseContentThis is a buffer that must be filled by HTTPAPI_ExecuteRequest with the contents of the HTTP response body. The buffer size must be increased by the HTTPAPI_ExecuteRequest implementation in order to fit the response body. HTTPAPI_ExecuteRequest must also handle chunked transfer encoding for HTTP responses. To manipulate the responseContent buffer, use the APIs available in Strings.h.
    -
    -
    -
    Returns
    HTTPAPI_OK if the API call is successful or an error code in case it fails.
    - -
    -
    - -
    -
    - - - - - - - - -
    HTTPAPI_RESULT HTTPAPI_Init (void )
    -
    - -

    Global initialization for the HTTP API component.

    -

    Platform specific implementations are expected to initialize the underlying HTTP API stacks.

    -
    Returns
    HTTPAPI_OK if initialization is successful or an error code in case it fails.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTPAPI_RESULT HTTPAPI_SetOption (HTTP_HANDLE handle,
    const char * optionName,
    const void * value 
    )
    -
    - -

    Sets the option named optionName bearing the value value for the HTTP_HANDLE handle.

    -
    Parameters
    - - - - -
    handleThe handle to the HTTP connection created via HTTPAPI_CreateConnection.
    optionNameA NULL terminated string representing the name of the option.
    valueA pointer to the value for the option.
    -
    -
    -
    Returns
    HTTPAPI_OK if initialization is successful or an error code in case it fails.
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/httpapi_8h_source.html b/c/doc/api_reference/httpapi_8h_source.html deleted file mode 100644 index 7fb59c60..00000000 --- a/c/doc/api_reference/httpapi_8h_source.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/httpapi.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    httpapi.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    13 #ifndef HTTPAPI_H
    -
    14 #define HTTPAPI_H
    -
    15 
    -
    16 #include "httpheaders.h"
    -
    17 #include "macro_utils.h"
    -
    18 #include "buffer_.h"
    -
    19 
    -
    20 #ifdef __cplusplus
    -
    21 #include <cstddef>
    -
    22 extern "C" {
    -
    23 #else
    -
    24 #include <stddef.h>
    -
    25 #endif
    -
    26 
    -
    27 typedef void* HTTP_HANDLE;
    -
    28 
    -
    29 #define AMBIGUOUS_STATUS_CODE (300)
    -
    30 
    -
    31 #define HTTPAPI_RESULT_VALUES \
    -
    32 HTTPAPI_OK, \
    -
    33 HTTPAPI_INVALID_ARG, \
    -
    34 HTTPAPI_ERROR, \
    -
    35 HTTPAPI_OPEN_REQUEST_FAILED, \
    -
    36 HTTPAPI_SET_OPTION_FAILED, \
    -
    37 HTTPAPI_SEND_REQUEST_FAILED, \
    -
    38 HTTPAPI_RECEIVE_RESPONSE_FAILED, \
    -
    39 HTTPAPI_QUERY_HEADERS_FAILED, \
    -
    40 HTTPAPI_QUERY_DATA_AVAILABLE_FAILED, \
    -
    41 HTTPAPI_READ_DATA_FAILED, \
    -
    42 HTTPAPI_ALREADY_INIT, \
    -
    43 HTTPAPI_NOT_INIT, \
    -
    44 HTTPAPI_HTTP_HEADERS_FAILED, \
    -
    45 HTTPAPI_STRING_PROCESSING_ERROR, \
    -
    46 HTTPAPI_ALLOC_FAILED, \
    -
    47 HTTPAPI_INIT_FAILED, \
    -
    48 HTTPAPI_INSUFFICIENT_RESPONSE_BUFFER, \
    -
    49 HTTPAPI_SET_TIMEOUTS_FAILED \
    -
    50 
    -
    51 
    -
    54 DEFINE_ENUM(HTTPAPI_RESULT, HTTPAPI_RESULT_VALUES);
    -
    55 
    -
    56 #define HTTPAPI_REQUEST_TYPE_VALUES\
    -
    57  HTTPAPI_REQUEST_GET, \
    -
    58  HTTPAPI_REQUEST_POST, \
    -
    59  HTTPAPI_REQUEST_PUT, \
    -
    60  HTTPAPI_REQUEST_DELETE, \
    -
    61  HTTPAPI_REQUEST_PATCH \
    -
    62 
    -
    63 
    -
    66 DEFINE_ENUM(HTTPAPI_REQUEST_TYPE, HTTPAPI_REQUEST_TYPE_VALUES);
    -
    67 
    -
    77 extern HTTPAPI_RESULT HTTPAPI_Init(void);
    -
    78 
    -
    80 extern void HTTPAPI_Deinit(void);
    -
    81 
    -
    95 extern HTTP_HANDLE HTTPAPI_CreateConnection(const char* hostName);
    -
    96 
    -
    105 extern void HTTPAPI_CloseConnection(HTTP_HANDLE handle);
    -
    106 
    -
    155 extern HTTPAPI_RESULT HTTPAPI_ExecuteRequest(HTTP_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char* relativePath,
    -
    156  HTTP_HEADERS_HANDLE httpHeadersHandle, const unsigned char* content,
    -
    157  size_t contentLength, unsigned int* statusCode,
    -
    158  HTTP_HEADERS_HANDLE responseHeadersHandle, BUFFER_HANDLE responseContent);
    -
    159 
    -
    173 extern HTTPAPI_RESULT HTTPAPI_SetOption(HTTP_HANDLE handle, const char* optionName, const void* value);
    -
    174 
    -
    188 extern HTTPAPI_RESULT HTTPAPI_CloneOption(const char* optionName, const void* value, const void** savedValue);
    -
    189 
    -
    190 #ifdef __cplusplus
    -
    191 }
    -
    192 #endif
    -
    193 
    -
    194 #endif /* HTTPAPI_H */
    -
    enum HTTPAPI_REQUEST_TYPE_TAG HTTPAPI_REQUEST_TYPE
    Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module.
    -
    HTTPAPI_RESULT HTTPAPI_Init(void)
    Global initialization for the HTTP API component.
    -
    HTTPAPI_RESULT HTTPAPI_SetOption(HTTP_HANDLE handle, const char *optionName, const void *value)
    Sets the option named optionName bearing the value value for the HTTP_HANDLE handle.
    -
    void HTTPAPI_CloseConnection(HTTP_HANDLE handle)
    Closes a connection created with HTTPAPI_CreateConnection.
    -
    HTTPAPI_RESULT HTTPAPI_ExecuteRequest(HTTP_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char *relativePath, HTTP_HEADERS_HANDLE httpHeadersHandle, const unsigned char *content, size_t contentLength, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHeadersHandle, BUFFER_HANDLE responseContent)
    Sends the HTTP request to the host and handles the response for the HTTP call.
    -
    enum HTTPAPI_RESULT_TAG HTTPAPI_RESULT
    Enumeration specifying the possible return values for the APIs in this module.
    -
    HTTPAPI_RESULT HTTPAPI_CloneOption(const char *optionName, const void *value, const void **savedValue)
    Clones the option named optionName bearing the value value into the pointer savedValue.
    -
    This is a utility module that handles HTTP message-headers.
    -
    void HTTPAPI_Deinit(void)
    Free resources allocated in HTTPAPI_Init.
    -
    HTTP_HANDLE HTTPAPI_CreateConnection(const char *hostName)
    Creates an HTTPS connection to the host specified by the hostName parameter.
    -
    - - - - diff --git a/c/doc/api_reference/httpapiex_8h.html b/c/doc/api_reference/httpapiex_8h.html deleted file mode 100644 index a746ede0..00000000 --- a/c/doc/api_reference/httpapiex_8h.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/httpapiex.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    httpapiex.h File Reference
    -
    -
    - -

    This is a utility module that provides HTTP requests with build-in retry capabilities. -More...

    -
    #include "macro_utils.h"
    -#include "httpapi.h"
    -#include <stddef.h>
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Typedefs

    -typedef enum HTTPAPIEX_RESULT_TAG HTTPAPIEX_RESULT
     Enumeration specifying the status of calls to various APIs in this module.
     
    - - - - -

    -Enumerations

    enum  HTTPAPIEX_RESULT_TAG
     Enumeration specifying the status of calls to various APIs in this module.
     
    - - - - - - - - - - - - - -

    -Functions

    HTTPAPIEX_HANDLE HTTPAPIEX_Create (const char *hostName)
     Creates an HTTPAPIEX_HANDLE that can be used in further calls. More...
     
    HTTPAPIEX_RESULT HTTPAPIEX_ExecuteRequest (HTTPAPIEX_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char *relativePath, HTTP_HEADERS_HANDLE requestHttpHeadersHandle, BUFFER_HANDLE requestContent, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHttpHeadersHandle, BUFFER_HANDLE responseContent)
     Tries to execute an HTTP request. More...
     
    void HTTPAPIEX_Destroy (HTTPAPIEX_HANDLE handle)
     Frees all resources used by the HTTPAPIEX_HANDLE object. More...
     
    HTTPAPIEX_RESULT HTTPAPIEX_SetOption (HTTPAPIEX_HANDLE handle, const char *optionName, const void *value)
     Sets the option optionName to the value pointed to by value. More...
     
    -

    Detailed Description

    -

    This is a utility module that provides HTTP requests with build-in retry capabilities.

    -

    HTTAPIEX is a utility module that provides HTTP requests with build-in retry capability to an HTTP server. Features over "regular" HTTPAPI include:

      -
    • Optional parameters
    • -
    • Implementation independent
    • -
    • Retry mechanism
    • -
    • Persistent options
    • -
    -

    Function Documentation

    - -
    -
    - - - - - - - - -
    HTTPAPIEX_HANDLE HTTPAPIEX_Create (const char * hostName)
    -
    - -

    Creates an HTTPAPIEX_HANDLE that can be used in further calls.

    -
    Parameters
    - - -
    hostNamePointer to a null-terminated string that contains the host name of an HTTP server.
    -
    -
    -

    If hostName is NULL then HTTPAPIEX_Create returns NULL. The hostName value is saved and associated with the returned handle. If creating the handle fails for any reason, then HTTAPIEX_Create returns NULL. Otherwise, HTTPAPIEX_Create returns an HTTAPIEX_HANDLE suitable for further calls to the module.

    -
    Returns
    An HTTAPIEX_HANDLE suitable for further calls to the module.
    - -
    -
    - -
    -
    - - - - - - - - -
    void HTTPAPIEX_Destroy (HTTPAPIEX_HANDLE handle)
    -
    - -

    Frees all resources used by the HTTPAPIEX_HANDLE object.

    -
    Parameters
    - - -
    handleThe HTTPAPIEX_HANDLE object to be freed.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTPAPIEX_RESULT HTTPAPIEX_ExecuteRequest (HTTPAPIEX_HANDLE handle,
    HTTPAPI_REQUEST_TYPE requestType,
    const char * relativePath,
    HTTP_HEADERS_HANDLE requestHttpHeadersHandle,
    BUFFER_HANDLE requestContent,
    unsigned int * statusCode,
    HTTP_HEADERS_HANDLE responseHttpHeadersHandle,
    BUFFER_HANDLE responseContent 
    )
    -
    - -

    Tries to execute an HTTP request.

    -
    Parameters
    - - - - - - - - - -
    handleA valid HTTPAPIEX_HANDLE value.
    requestTypeA value from the HTTPAPI_REQUEST_TYPE enum.
    relativePathRelative path to send the request to on the server.
    requestHttpHeadersHandleHandle to the request HTTP headers.
    requestContentThe request content.
    statusCodeIf non-null, the HTTP status code is written to this pointer.
    responseHttpHeadersHandleHandle to the response HTTP headers.
    responseContentThe response content.
    -
    -
    -

    HTTPAPIEX_ExecuteRequest tries to execute an HTTP request of type requestType, on the server's relativePath, pushing the request HTTP headers requestHttpHeadersHandle, having the content of the request as pointed to by requestContent. If successful, HTTAPIEX_ExecuteRequest writes in the out parameter statusCode the HTTP status, populates the responseHeadersHandle with the response headers and copies the response body to responseContent.

    -
    Returns
    An HTTAPIEX_HANDLE suitable for further calls to the module.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTPAPIEX_RESULT HTTPAPIEX_SetOption (HTTPAPIEX_HANDLE handle,
    const char * optionName,
    const void * value 
    )
    -
    - -

    Sets the option optionName to the value pointed to by value.

    -
    Parameters
    - - - - -
    handleThe HTTPAPIEX_HANDLE representing this session.
    optionNameName of the option.
    valueThe value to be set for the option.
    -
    -
    -
    Returns
    An HTTPAPIEX_RESULT indicating the status of the call.
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/httpapiex_8h_source.html b/c/doc/api_reference/httpapiex_8h_source.html deleted file mode 100644 index 5a849b32..00000000 --- a/c/doc/api_reference/httpapiex_8h_source.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/httpapiex.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    httpapiex.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    16 #ifndef HTTPAPIEX_H
    -
    17 #define HTTPAPIEX_H
    -
    18 
    -
    19 #include "macro_utils.h"
    -
    20 #include "httpapi.h"
    -
    21 
    -
    22 #ifdef __cplusplus
    -
    23 #include <cstddef>
    -
    24 extern "C" {
    -
    25 #else
    -
    26 #include <stddef.h>
    -
    27 #endif
    -
    28 
    -
    29 typedef void* HTTPAPIEX_HANDLE;
    -
    30 
    -
    31 #define HTTPAPIEX_RESULT_VALUES \
    -
    32  HTTPAPIEX_OK, \
    -
    33  HTTPAPIEX_ERROR, \
    -
    34  HTTPAPIEX_INVALID_ARG, \
    -
    35  HTTPAPIEX_RECOVERYFAILED
    -
    36 /*to be continued*/
    -
    37 
    -
    40 DEFINE_ENUM(HTTPAPIEX_RESULT, HTTPAPIEX_RESULT_VALUES);
    -
    41 
    -
    56 extern HTTPAPIEX_HANDLE HTTPAPIEX_Create(const char* hostName);
    -
    57 
    -
    81 extern HTTPAPIEX_RESULT HTTPAPIEX_ExecuteRequest(HTTPAPIEX_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char* relativePath, HTTP_HEADERS_HANDLE requestHttpHeadersHandle, BUFFER_HANDLE requestContent, unsigned int* statusCode, HTTP_HEADERS_HANDLE responseHttpHeadersHandle, BUFFER_HANDLE responseContent);
    -
    82 
    -
    88 extern void HTTPAPIEX_Destroy(HTTPAPIEX_HANDLE handle);
    -
    89 
    -
    99 extern HTTPAPIEX_RESULT HTTPAPIEX_SetOption(HTTPAPIEX_HANDLE handle, const char* optionName, const void* value);
    -
    100 
    -
    101 #ifdef __cplusplus
    -
    102 }
    -
    103 #endif
    -
    104 
    -
    105 #endif /* HTTPAPIEX_H */
    -
    enum HTTPAPI_REQUEST_TYPE_TAG HTTPAPI_REQUEST_TYPE
    Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module.
    -
    HTTPAPIEX_HANDLE HTTPAPIEX_Create(const char *hostName)
    Creates an HTTPAPIEX_HANDLE that can be used in further calls.
    -
    void HTTPAPIEX_Destroy(HTTPAPIEX_HANDLE handle)
    Frees all resources used by the HTTPAPIEX_HANDLE object.
    -
    HTTPAPIEX_RESULT HTTPAPIEX_ExecuteRequest(HTTPAPIEX_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char *relativePath, HTTP_HEADERS_HANDLE requestHttpHeadersHandle, BUFFER_HANDLE requestContent, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHttpHeadersHandle, BUFFER_HANDLE responseContent)
    Tries to execute an HTTP request.
    -
    HTTPAPIEX_RESULT HTTPAPIEX_SetOption(HTTPAPIEX_HANDLE handle, const char *optionName, const void *value)
    Sets the option optionName to the value pointed to by value.
    -
    This module implements the standard HTTP API used by the C IoT client library.
    -
    enum HTTPAPIEX_RESULT_TAG HTTPAPIEX_RESULT
    Enumeration specifying the status of calls to various APIs in this module.
    -
    - - - - diff --git a/c/doc/api_reference/httpheaders_8h.html b/c/doc/api_reference/httpheaders_8h.html deleted file mode 100644 index d4c19a31..00000000 --- a/c/doc/api_reference/httpheaders_8h.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/httpheaders.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    httpheaders.h File Reference
    -
    -
    - -

    This is a utility module that handles HTTP message-headers. -More...

    -
    #include "macro_utils.h"
    -#include <stddef.h>
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Typedefs

    -typedef enum HTTP_HEADERS_RESULT_TAG HTTP_HEADERS_RESULT
     Enumeration specifying the status of calls to various APIs in this module.
     
    - - - - -

    -Enumerations

    enum  HTTP_HEADERS_RESULT_TAG
     Enumeration specifying the status of calls to various APIs in this module.
     
    - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    HTTP_HEADERS_HANDLE HTTPHeaders_Alloc (void)
     Produces a HTTP_HANDLE that can later be used in subsequent calls to the module. More...
     
    void HTTPHeaders_Free (HTTP_HEADERS_HANDLE httpHeadersHandle)
     De-allocates the data structures allocated by previous API calls to the same handle. More...
     
    HTTP_HEADERS_RESULT HTTPHeaders_AddHeaderNameValuePair (HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)
     Adds a header record from the name and value parameters. More...
     
    HTTP_HEADERS_RESULT HTTPHeaders_ReplaceHeaderNameValuePair (HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)
     This API performs exactly the same as HTTPHeaders_AddHeaderNameValuePair except that if the header name already exists then the already existing value will be replaced as opposed to being concatenated to. More...
     
    const char * HTTPHeaders_FindHeaderValue (HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name)
     Retrieves the value for a previously stored name. More...
     
    HTTP_HEADERS_RESULT HTTPHeaders_GetHeaderCount (HTTP_HEADERS_HANDLE httpHeadersHandle, size_t *headersCount)
     This API retrieves the number of stored headers. More...
     
    HTTP_HEADERS_RESULT HTTPHeaders_GetHeader (HTTP_HEADERS_HANDLE handle, size_t index, char **destination)
     This API retrieves the string name+": "+value for the header element at the given index. More...
     
    HTTP_HEADERS_HANDLE HTTPHeaders_Clone (HTTP_HEADERS_HANDLE handle)
     This API produces a clone of the handle parameter. More...
     
    -

    Detailed Description

    -

    This is a utility module that handles HTTP message-headers.

    -

    An application would use HTTPHeaders_Alloc to create a new set of HTTP headers. After getting the handle, the application would build in several headers by consecutive calls to HTTPHeaders_AddHeaderNameValuePair. When the headers are constructed, the application can retrieve the stored data by calling one of the following functions:

    -

    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTP_HEADERS_RESULT HTTPHeaders_AddHeaderNameValuePair (HTTP_HEADERS_HANDLE httpHeadersHandle,
    const char * name,
    const char * value 
    )
    -
    - -

    Adds a header record from the name and value parameters.

    -
    Parameters
    - - - - -
    httpHeadersHandleA valid HTTP_HEADERS_HANDLE value.
    nameThe name of the HTTP header to add. It is invalid for the name to include the ':' character or character codes outside the range 33-126.
    valueThe value to be assigned to the header.
    -
    -
    -

    The function stores the name:value pair in such a way that when later retrieved by a call to HTTPHeaders_GetHeader it will return a string that is strcmp equal to name+": "+value. If the name already exists in the collection of headers, the function concatenates the new value after the existing value, separated by a comma and a space as in: old-value+", "+new-value.

    -
    Returns
    Returns HTTP_HEADERS_OK when execution is successful or an error code from the HTTPAPIEX_RESULT enum.
    - -
    -
    - -
    -
    - - - - - - - - -
    HTTP_HEADERS_HANDLE HTTPHeaders_Alloc (void )
    -
    - -

    Produces a HTTP_HANDLE that can later be used in subsequent calls to the module.

    -

    This function returns NULL in case an error occurs. After successful execution HTTPHeaders_GetHeaderCount will report 0 existing headers.

    -
    Returns
    A HTTP_HEADERS_HANDLE representing the newly created collection of HTTP headers.
    - -
    -
    - -
    -
    - - - - - - - - -
    HTTP_HEADERS_HANDLE HTTPHeaders_Clone (HTTP_HEADERS_HANDLE handle)
    -
    - -

    This API produces a clone of the handle parameter.

    -
    Parameters
    - - -
    handleA valid HTTP_HEADERS_HANDLE value.
    -
    -
    -

    If handle is not NULL this function clones the content of the handle to a new handle and returns it.

    -
    Returns
    A HTTP_HEADERS_HANDLE containing a cloned copy of the contents of handle.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    const char* HTTPHeaders_FindHeaderValue (HTTP_HEADERS_HANDLE httpHeadersHandle,
    const char * name 
    )
    -
    - -

    Retrieves the value for a previously stored name.

    -
    Parameters
    - - - -
    httpHeadersHandleA valid HTTP_HEADERS_HANDLE value.
    nameThe name of the HTTP header to find.
    -
    -
    -
    Returns
    The return value points to a string that shall be strcmp equal to the original stored string.
    - -
    -
    - -
    -
    - - - - - - - - -
    void HTTPHeaders_Free (HTTP_HEADERS_HANDLE httpHeadersHandle)
    -
    - -

    De-allocates the data structures allocated by previous API calls to the same handle.

    -
    Parameters
    - - -
    httpHeadersHandleA valid HTTP_HEADERS_HANDLE value.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTP_HEADERS_RESULT HTTPHeaders_GetHeader (HTTP_HEADERS_HANDLE handle,
    size_t index,
    char ** destination 
    )
    -
    - -

    This API retrieves the string name+": "+value for the header element at the given index.

    -
    Parameters
    - - - - -
    handleA valid HTTP_HEADERS_HANDLE value.
    indexZero-based index of the item in the headers collection.
    destinationIf non-null, the header value is written into a new string a pointer to which is written into this parameters. It is the caller's responsibility to free this memory.
    -
    -
    -
    Returns
    Returns HTTP_HEADERS_OK when execution is successful or HTTP_HEADERS_ERROR when an error occurs.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    HTTP_HEADERS_RESULT HTTPHeaders_GetHeaderCount (HTTP_HEADERS_HANDLE httpHeadersHandle,
    size_t * headersCount 
    )
    -
    - -

    This API retrieves the number of stored headers.

    -
    Parameters
    - - - -
    httpHeadersHandleA valid HTTP_HEADERS_HANDLE value.
    headersCountIf non-null, the API writes the number of into the memory pointed at by this parameter.
    -
    -
    -
    Returns
    Returns HTTP_HEADERS_OK when execution is successful or HTTP_HEADERS_ERROR when an error occurs.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    HTTP_HEADERS_RESULT HTTPHeaders_ReplaceHeaderNameValuePair (HTTP_HEADERS_HANDLE httpHeadersHandle,
    const char * name,
    const char * value 
    )
    -
    - -

    This API performs exactly the same as HTTPHeaders_AddHeaderNameValuePair except that if the header name already exists then the already existing value will be replaced as opposed to being concatenated to.

    -
    Parameters
    - - - - -
    httpHeadersHandleA valid HTTP_HEADERS_HANDLE value.
    nameThe name of the HTTP header to add/replace. It is invalid for the name to include the ':' character or character codes outside the range 33-126.
    valueThe value to be assigned to the header.
    -
    -
    -
    Returns
    Returns HTTP_HEADERS_OK when execution is successful or an error code from the HTTPAPIEX_RESULT enum.
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/httpheaders_8h_source.html b/c/doc/api_reference/httpheaders_8h_source.html deleted file mode 100644 index 8e7175ee..00000000 --- a/c/doc/api_reference/httpheaders_8h_source.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/httpheaders.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    httpheaders.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    20 #ifndef HTTPHEADERS_H
    -
    21 #define HTTPHEADERS_H
    -
    22 
    -
    23 #include "macro_utils.h"
    -
    24 
    -
    25 #ifdef __cplusplus
    -
    26 #include <cstddef>
    -
    27 extern "C" {
    -
    28 #else
    -
    29 #include <stddef.h>
    -
    30 #endif
    -
    31 
    -
    32 /*Codes_SRS_HTTP_HEADERS_99_001:[ HttpHeaders shall have the following interface]*/
    -
    33 
    -
    34 #define HTTP_HEADERS_RESULT_VALUES \
    -
    35 HTTP_HEADERS_OK, \
    -
    36 HTTP_HEADERS_INVALID_ARG, \
    -
    37 HTTP_HEADERS_ALLOC_FAILED, \
    -
    38 HTTP_HEADERS_INSUFFICIENT_BUFFER, \
    -
    39 HTTP_HEADERS_ERROR \
    -
    40 
    -
    41 
    -
    43 DEFINE_ENUM(HTTP_HEADERS_RESULT, HTTP_HEADERS_RESULT_VALUES);
    -
    44 typedef void* HTTP_HEADERS_HANDLE;
    -
    45 
    -
    54 extern HTTP_HEADERS_HANDLE HTTPHeaders_Alloc(void);
    -
    55 
    -
    61 extern void HTTPHeaders_Free(HTTP_HEADERS_HANDLE httpHeadersHandle);
    -
    62 
    -
    82 extern HTTP_HEADERS_RESULT HTTPHeaders_AddHeaderNameValuePair(HTTP_HEADERS_HANDLE httpHeadersHandle, const char* name, const char* value);
    -
    83 
    -
    98 extern HTTP_HEADERS_RESULT HTTPHeaders_ReplaceHeaderNameValuePair(HTTP_HEADERS_HANDLE httpHeadersHandle, const char* name, const char* value);
    -
    99 
    -
    109 extern const char* HTTPHeaders_FindHeaderValue(HTTP_HEADERS_HANDLE httpHeadersHandle, const char* name);
    -
    110 
    -
    121 extern HTTP_HEADERS_RESULT HTTPHeaders_GetHeaderCount(HTTP_HEADERS_HANDLE httpHeadersHandle, size_t* headersCount);
    -
    122 
    -
    138 extern HTTP_HEADERS_RESULT HTTPHeaders_GetHeader(HTTP_HEADERS_HANDLE handle, size_t index, char** destination);
    -
    139 
    -
    151 extern HTTP_HEADERS_HANDLE HTTPHeaders_Clone(HTTP_HEADERS_HANDLE handle);
    -
    152 
    -
    153 #ifdef __cplusplus
    -
    154 }
    -
    155 #endif
    -
    156 
    -
    157 #endif /* HTTPHEADERS_H */
    -
    HTTP_HEADERS_RESULT HTTPHeaders_AddHeaderNameValuePair(HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)
    Adds a header record from the name and value parameters.
    -
    HTTP_HEADERS_RESULT HTTPHeaders_GetHeader(HTTP_HEADERS_HANDLE handle, size_t index, char **destination)
    This API retrieves the string name+": "+value for the header element at the given index...
    -
    HTTP_HEADERS_HANDLE HTTPHeaders_Alloc(void)
    Produces a HTTP_HANDLE that can later be used in subsequent calls to the module.
    -
    const char * HTTPHeaders_FindHeaderValue(HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name)
    Retrieves the value for a previously stored name.
    -
    HTTP_HEADERS_RESULT HTTPHeaders_ReplaceHeaderNameValuePair(HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)
    This API performs exactly the same as HTTPHeaders_AddHeaderNameValuePair except that if the header na...
    -
    void HTTPHeaders_Free(HTTP_HEADERS_HANDLE httpHeadersHandle)
    De-allocates the data structures allocated by previous API calls to the same handle.
    -
    HTTP_HEADERS_HANDLE HTTPHeaders_Clone(HTTP_HEADERS_HANDLE handle)
    This API produces a clone of the handle parameter.
    -
    enum HTTP_HEADERS_RESULT_TAG HTTP_HEADERS_RESULT
    Enumeration specifying the status of calls to various APIs in this module.
    -
    HTTP_HEADERS_RESULT HTTPHeaders_GetHeaderCount(HTTP_HEADERS_HANDLE httpHeadersHandle, size_t *headersCount)
    This API retrieves the number of stored headers.
    -
    - - - - diff --git a/c/doc/api_reference/index.html b/c/doc/api_reference/index.html deleted file mode 100644 index bfe4d498..00000000 --- a/c/doc/api_reference/index.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: Microsoft Azure IoT Device SDK for C - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    Microsoft Azure IoT Device SDK for C
    -
    -
    -

    -Introduction

    -

    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.

    -

    The device library consists of a set of reusable components with abstract interfaces that enable pluggability between stock and custom modules.

    -

    To meet the wide range of device requirements in the Internet of Things space, the C libraries are provided in source code form to support multiple form factors, operating systems, tools sets, protocols and communications patterns widely in use today.

    -

    -Features

    -
      -
    • Sends event data to Azure IoT based services.
    • -
    • Maps server commands to device functions.
    • -
    • Buffers data when network connection is down.
    • -
    • Batches messages to improve communication efficiency.
    • -
    • Supports pluggable transport protocols. HTTP and AMQP protocols are available now, with more coming soon.
    • -
    • Supports pluggable serialization methods. JSON is available now, with more coming soon.
    • -
    -

    -Tested platforms

    -

    The following platforms have been tested against this library:

    -
      -
    • Windows 7
    • -
    • Windows 8.1
    • -
    • Ubuntu 14.04 LTS
    • -
    • Debian 7.5
    • -
    • Fedora 20
    • -
    • Raspbian
    • -
    • Mbed
    • -
    -

    The library code:

    -
      -
    • Is written in ANSI C (C99) to maximize code portability.
    • -
    • Avoids compiler extensions.
    • -
    • Exposes a platform abstraction layer to isolate OS dependencies (HTTPAPI, Lock, Threads). Refer to the porting guide for more information.
    • -
    -
    - - - - diff --git a/c/doc/api_reference/iothub__client_8h.html b/c/doc/api_reference/iothub__client_8h.html deleted file mode 100644 index af1c0bb3..00000000 --- a/c/doc/api_reference/iothub__client_8h.html +++ /dev/null @@ -1,450 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    iothub_client.h File Reference
    -
    -
    - -

    Extends the IoTHubCLient_LL module with additional features. -More...

    -
    #include "iothub_client_ll.h"
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    IOTHUB_CLIENT_HANDLE IoTHubClient_CreateFromConnectionString (const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)
     Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter. More...
     
    IOTHUB_CLIENT_HANDLE IoTHubClient_Create (const IOTHUB_CLIENT_CONFIG *config)
     Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters. More...
     
    void IoTHubClient_Destroy (IOTHUB_CLIENT_HANDLE iotHubClientHandle)
     Disposes of resources allocated by the IoT Hub client. This is a blocking call. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_SendEventAsync (IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)
     Asynchronous call to send the message specified by eventMessageHandle. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_GetSendStatus (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus)
     This function returns the current sending status for IoTHubClient. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_SetMessageCallback (IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)
     Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_GetLastMessageReceiveTime (IOTHUB_CLIENT_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)
     This function returns in the out parameter lastMessageReceiveTime what was the value of the time function when the last message was received at the client. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_SetOption (IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char *optionName, const void *value)
     This API sets a runtime option identified by parameter optionName to a value pointed to by value. optionName and the data type value is pointing to are specific for every option. More...
     
    -

    Detailed Description

    -

    Extends the IoTHubCLient_LL module with additional features.

    -

    IoTHubClient is a module that extends the IoTHubCLient_LL module with 2 features:

      -
    • scheduling the work for the IoTHubCLient from a thread, so that the user does not need to create their own thread
    • -
    • thread-safe APIs
    • -
    -

    Function Documentation

    - -
    -
    - - - - - - - - -
    IOTHUB_CLIENT_HANDLE IoTHubClient_Create (const IOTHUB_CLIENT_CONFIGconfig)
    -
    - -

    Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters.

    -
    Parameters
    - - -
    configPointer to an IOTHUB_CLIENT_CONFIG structure
    -
    -
    -

    The API does not allow sharing of a connection across multiple devices. This is a blocking call.

    -
    Returns
    A non-NULL IOTHUB_CLIENT_LL_HANDLE value that is used when invoking other functions for IoT Hub client and NULL on failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_HANDLE IoTHubClient_CreateFromConnectionString (const char * connectionString,
    IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol 
    )
    -
    - -

    Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter.

    -
    Parameters
    - - - -
    connectionStringPointer to a character string
    protocolFunction pointer for protocol implementation
    -
    -
    -

    Sample connection string:

    -
    HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialType=SharedAccessKey;CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];
    -
    Returns
    A non-NULL IOTHUB_CLIENT_LL_HANDLE value that is used when invoking other functions for IoT Hub client and NULL on failure.
    - -
    -
    - -
    -
    - - - - - - - - -
    void IoTHubClient_Destroy (IOTHUB_CLIENT_HANDLE iotHubClientHandle)
    -
    - -

    Disposes of resources allocated by the IoT Hub client. This is a blocking call.

    -
    Parameters
    - - -
    iotHubClientHandleThe handle created by a call to the create function.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_GetLastMessageReceiveTime (IOTHUB_CLIENT_HANDLE iotHubClientHandle,
    time_t * lastMessageReceiveTime 
    )
    -
    - -

    This function returns in the out parameter lastMessageReceiveTime what was the value of the time function when the last message was received at the client.

    -
    Parameters
    - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    lastMessageReceiveTimeOut parameter containing the value of time function when the last message was received.
    -
    -
    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_GetSendStatus (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle,
    IOTHUB_CLIENT_STATUSiotHubClientStatus 
    )
    -
    - -

    This function returns the current sending status for IoTHubClient.

    -
    Parameters
    - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    iotHubClientStatusThe sending state is populated at the address pointed at by this parameter. The value will be set to IOTHUBCLIENT_SENDSTATUS_IDLE if there is currently no item to be sent and IOTHUBCLIENT_SENDSTATUS_BUSY if there are.
    -
    -
    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_SendEventAsync (IOTHUB_CLIENT_HANDLE iotHubClientHandle,
    IOTHUB_MESSAGE_HANDLE eventMessageHandle,
    IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback,
    void * userContextCallback 
    )
    -
    - -

    Asynchronous call to send the message specified by eventMessageHandle.

    -
    Parameters
    - - - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    eventMessageHandleThe handle to an IoT Hub message.
    eventConfirmationCallbackThe callback specified by the device for receiving confirmation of the delivery of the IoT Hub message. This callback can be expected to invoke the IoTHubClient_LL_SendEventAsync function for the same message in an attempt to retry sending a failing message. The user can specify a NULL value here to indicate that no callback is required.
    userContextCallbackUser specified context that will be provided to the callback. This can be NULL.
    -
    -
    -

    NOTE: The application behavior is undefined if the user calls the IoTHubClient_LL_Destroy function from within any callback.

    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_SetMessageCallback (IOTHUB_CLIENT_HANDLE iotHubClientHandle,
    IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback,
    void * userContextCallback 
    )
    -
    - -

    Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call.

    -
    Parameters
    - - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    messageCallbackThe callback specified by the device for receiving messages from IoT Hub.
    userContextCallbackUser specified context that will be provided to the callback. This can be NULL.
    -
    -
    -

    NOTE: The application behavior is undefined if the user calls the IoTHubClient_LL_Destroy function from within any callback.

    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_SetOption (IOTHUB_CLIENT_HANDLE iotHubClientHandle,
    const char * optionName,
    const void * value 
    )
    -
    - -

    This API sets a runtime option identified by parameter optionName to a value pointed to by value. optionName and the data type value is pointing to are specific for every option.

    -
    Parameters
    - - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    optionNameName of the option.
    valueThe value.
    -
    -
    -

    The options that can be set via this API are:

      -
    • timeout - the maximum time in milliseconds a communication is allowed to use. value is a pointer to an unsigned int with the timeout value in milliseconds. This is only supported for the HTTP protocol as of now. When the HTTP protocol uses CURL, the meaning of the parameter is total request time. When the HTTP protocol uses winhttp, the meaning is the same as the dwSendTimeout and dwReceiveTimeout parameters of the WinHttpSetTimeouts API.
    • -
    • CURLOPT_LOW_SPEED_LIMIT - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_LOW_SPEED_TIME - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_FORBID_REUSE - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_FRESH_CONNECT - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_VERBOSE - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/iothub__client_8h_source.html b/c/doc/api_reference/iothub__client_8h_source.html deleted file mode 100644 index df41868b..00000000 --- a/c/doc/api_reference/iothub__client_8h_source.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    iothub_client.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    15 #ifndef IOTHUB_CLIENT_H
    -
    16 
    -
    17 #include "iothub_client_ll.h"
    -
    18 
    -
    19 #ifdef __cplusplus
    -
    20 extern "C"
    -
    21 {
    -
    22 #endif
    -
    23 
    -
    24  typedef void* IOTHUB_CLIENT_HANDLE;
    -
    25 
    -
    41  extern IOTHUB_CLIENT_HANDLE IoTHubClient_CreateFromConnectionString(const char* connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol);
    -
    42 
    -
    55  extern IOTHUB_CLIENT_HANDLE IoTHubClient_Create(const IOTHUB_CLIENT_CONFIG* config);
    -
    56 
    -
    63  extern void IoTHubClient_Destroy(IOTHUB_CLIENT_HANDLE iotHubClientHandle);
    -
    64 
    -
    85  extern IOTHUB_CLIENT_RESULT IoTHubClient_SendEventAsync(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void* userContextCallback);
    -
    86 
    -
    99  extern IOTHUB_CLIENT_RESULT IoTHubClient_GetSendStatus(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus);
    -
    100 
    -
    116  extern IOTHUB_CLIENT_RESULT IoTHubClient_SetMessageCallback(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void* userContextCallback);
    -
    117 
    -
    129  extern IOTHUB_CLIENT_RESULT IoTHubClient_GetLastMessageReceiveTime(IOTHUB_CLIENT_HANDLE iotHubClientHandle, time_t* lastMessageReceiveTime);
    -
    130 
    -
    168  extern IOTHUB_CLIENT_RESULT IoTHubClient_SetOption(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char* optionName, const void* value);
    -
    169 
    -
    170 #ifdef __cplusplus
    -
    171 }
    -
    172 #endif
    -
    173 
    -
    174 #endif /* IOTHUB_CLIENT_H */
    -
    enum IOTHUB_CLIENT_STATUS_TAG IOTHUB_CLIENT_STATUS
    Enumeration returned by the IoTHubClient_LL_GetSendStatus API to indicate the current sending status ...
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_SendEventAsync(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)
    Asynchronous call to send the message specified by eventMessageHandle.
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_SetOption(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char *optionName, const void *value)
    This API sets a runtime option identified by parameter optionName to a value pointed to by value...
    -
    void IoTHubClient_Destroy(IOTHUB_CLIENT_HANDLE iotHubClientHandle)
    Disposes of resources allocated by the IoT Hub client. This is a blocking call.
    -
    IOTHUB_CLIENT_HANDLE IoTHubClient_Create(const IOTHUB_CLIENT_CONFIG *config)
    Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters...
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_SetMessageCallback(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)
    Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call.
    -
    enum IOTHUB_CLIENT_RESULT_TAG IOTHUB_CLIENT_RESULT
    Enumeration specifying the status of calls to various APIs in this module.
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_GetSendStatus(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus)
    This function returns the current sending status for IoTHubClient.
    -
    IOTHUB_CLIENT_HANDLE IoTHubClient_CreateFromConnectionString(const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)
    Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection st...
    -
    This struct captures IoTHub client configuration.
    Definition: iothub_client_ll.h:90
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_GetLastMessageReceiveTime(IOTHUB_CLIENT_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)
    This function returns in the out parameter lastMessageReceiveTime what was the value of the time func...
    -
    APIs that allow a user (usually a device) to communicate with an Azure IoTHub.
    -
    - - - - diff --git a/c/doc/api_reference/iothub__client__ll_8h.html b/c/doc/api_reference/iothub__client__ll_8h.html deleted file mode 100644 index de2f1b27..00000000 --- a/c/doc/api_reference/iothub__client__ll_8h.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client_ll.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    iothub_client_ll.h File Reference
    -
    -
    - -

    APIs that allow a user (usually a device) to communicate with an Azure IoTHub. -More...

    -
    #include "agenttime.h"
    -#include "macro_utils.h"
    -#include "iothub_message.h"
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Data Structures

    struct  IOTHUB_CLIENT_CONFIG_TAG
     This struct captures IoTHub client configuration. More...
     
    - - - - - - - - - - - - - - - - -

    -Typedefs

    -typedef enum IOTHUB_CLIENT_RESULT_TAG IOTHUB_CLIENT_RESULT
     Enumeration specifying the status of calls to various APIs in this module.
     
    -typedef enum IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG IOTHUB_CLIENT_CONFIRMATION_RESULT
     Enumeration passed in by the IoT Hub when the event confirmation callback is invoked to indicate status of the event processing in the hub.
     
    -typedef enum IOTHUB_CLIENT_STATUS_TAG IOTHUB_CLIENT_STATUS
     Enumeration returned by the IoTHubClient_LL_GetSendStatus API to indicate the current sending status of the IoT Hub client.
     
    -typedef enum IOTHUBMESSAGE_DISPOSITION_RESULT_TAG IOTHUBMESSAGE_DISPOSITION_RESULT
     Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the device.
     
    -typedef struct IOTHUB_CLIENT_CONFIG_TAG IOTHUB_CLIENT_CONFIG
     This struct captures IoTHub client configuration.
     
    - - - - - - - - - - - - - -

    -Enumerations

    enum  IOTHUB_CLIENT_RESULT_TAG
     Enumeration specifying the status of calls to various APIs in this module.
     
    enum  IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG
     Enumeration passed in by the IoT Hub when the event confirmation callback is invoked to indicate status of the event processing in the hub.
     
    enum  IOTHUB_CLIENT_STATUS_TAG
     Enumeration returned by the IoTHubClient_LL_GetSendStatus API to indicate the current sending status of the IoT Hub client.
     
    enum  IOTHUBMESSAGE_DISPOSITION_RESULT_TAG
     Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the device.
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString (const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)
     Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter. More...
     
    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create (const IOTHUB_CLIENT_CONFIG *config)
     Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters. More...
     
    void IoTHubClient_LL_Destroy (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
     Disposes of resources allocated by the IoT Hub client. This is a blocking call. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SendEventAsync (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)
     Asynchronous call to send the message specified by eventMessageHandle. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetSendStatus (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus)
     This function returns the current sending status for IoTHubClient. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetMessageCallback (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)
     Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetLastMessageReceiveTime (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)
     This function returns in the out parameter lastMessageReceiveTime what was the value of the time function when the last message was received at the client. More...
     
    void IoTHubClient_LL_DoWork (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
     This function is meant to be called by the user when work (sending/receiving) can be done by the IoTHubClient. More...
     
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetOption (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, const char *optionName, const void *value)
     This API sets a runtime option identified by parameter optionName to a value pointed to by value. optionName and the data type value is pointing to are specific for every option. More...
     
    -

    Detailed Description

    -

    APIs that allow a user (usually a device) to communicate with an Azure IoTHub.

    -

    IoTHubClient_LL is a module that allows a user (usually a device) to communicate with an Azure IoTHub. It can send events and receive messages. At any given moment in time there can only be at most 1 message callback function.

    -

    This API surface contains a set of APIs that allows the user to interact with the lower layer portion of the IoTHubClient. These APIs contain _LL_ in their name, but retain the same functionality like the IoTHubClient_... APIs, with one difference. If the _LL_ APIs are used then the user is responsible for scheduling when the actual work done by the IoTHubClient happens (when the data is sent/received on/from the wire). This is useful for constrained devices where spinning a separate thread is often not desired.

    -

    Function Documentation

    - -
    -
    - - - - - - - - -
    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create (const IOTHUB_CLIENT_CONFIGconfig)
    -
    - -

    Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters.

    -
    Parameters
    - - -
    configPointer to an IOTHUB_CLIENT_CONFIG structure
    -
    -
    -

    The API does not allow sharing of a connection across multiple devices. This is a blocking call.

    -
    Returns
    A non-NULL IOTHUB_CLIENT_LL_HANDLE value that is used when invoking other functions for IoT Hub client and NULL on failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString (const char * connectionString,
    IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol 
    )
    -
    - -

    Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter.

    -
    Parameters
    - - - -
    connectionStringPointer to a character string
    protocolFunction pointer for protocol implementation
    -
    -
    -

    Sample connection string:

    -
    HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialType=SharedAccessKey;CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];
    -
    Returns
    A non-NULL IOTHUB_CLIENT_LL_HANDLE value that is used when invoking other functions for IoT Hub client and NULL on failure.
    - -
    -
    - -
    -
    - - - - - - - - -
    void IoTHubClient_LL_Destroy (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
    -
    - -

    Disposes of resources allocated by the IoT Hub client. This is a blocking call.

    -
    Parameters
    - - -
    iotHubClientHandleThe handle created by a call to the create function.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - -
    void IoTHubClient_LL_DoWork (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
    -
    - -

    This function is meant to be called by the user when work (sending/receiving) can be done by the IoTHubClient.

    -
    Parameters
    - - -
    iotHubClientHandleThe handle created by a call to the create function.
    -
    -
    -

    All IoTHubClient interactions (in regards to network traffic and/or user level callbacks) are the effect of calling this function and they take place synchronously inside _DoWork.

    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetLastMessageReceiveTime (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle,
    time_t * lastMessageReceiveTime 
    )
    -
    - -

    This function returns in the out parameter lastMessageReceiveTime what was the value of the time function when the last message was received at the client.

    -
    Parameters
    - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    lastMessageReceiveTimeOut parameter containing the value of time function when the last message was received.
    -
    -
    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetSendStatus (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle,
    IOTHUB_CLIENT_STATUSiotHubClientStatus 
    )
    -
    - -

    This function returns the current sending status for IoTHubClient.

    -
    Parameters
    - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    iotHubClientStatusThe sending state is populated at the address pointed at by this parameter. The value will be set to IOTHUBCLIENT_SENDSTATUS_IDLE if there is currently no item to be sent and IOTHUBCLIENT_SENDSTATUS_BUSY if there are.
    -
    -
    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SendEventAsync (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle,
    IOTHUB_MESSAGE_HANDLE eventMessageHandle,
    IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback,
    void * userContextCallback 
    )
    -
    - -

    Asynchronous call to send the message specified by eventMessageHandle.

    -
    Parameters
    - - - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    eventMessageHandleThe handle to an IoT Hub message.
    eventConfirmationCallbackThe callback specified by the device for receiving confirmation of the delivery of the IoT Hub message. This callback can be expected to invoke the IoTHubClient_LL_SendEventAsync function for the same message in an attempt to retry sending a failing message. The user can specify a NULL value here to indicate that no callback is required.
    userContextCallbackUser specified context that will be provided to the callback. This can be NULL.
    -
    -
    -

    NOTE: The application behavior is undefined if the user calls the IoTHubClient_LL_Destroy function from within any callback.

    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetMessageCallback (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle,
    IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback,
    void * userContextCallback 
    )
    -
    - -

    Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call.

    -
    Parameters
    - - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    messageCallbackThe callback specified by the device for receiving messages from IoT Hub.
    userContextCallbackUser specified context that will be provided to the callback. This can be NULL.
    -
    -
    -

    NOTE: The application behavior is undefined if the user calls the IoTHubClient_LL_Destroy function from within any callback.

    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetOption (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle,
    const char * optionName,
    const void * value 
    )
    -
    - -

    This API sets a runtime option identified by parameter optionName to a value pointed to by value. optionName and the data type value is pointing to are specific for every option.

    -
    Parameters
    - - - - -
    iotHubClientHandleThe handle created by a call to the create function.
    optionNameName of the option.
    valueThe value.
    -
    -
    -

    The options that can be set via this API are:

      -
    • timeout - the maximum time in milliseconds a communication is allowed to use. value is a pointer to an unsigned int with the timeout value in milliseconds. This is only supported for the HTTP protocol as of now. When the HTTP protocol uses CURL, the meaning of the parameter is total request time. When the HTTP protocol uses winhttp, the meaning is the same as the dwSendTimeout and dwReceiveTimeout parameters of the WinHttpSetTimeouts API.
    • -
    • CURLOPT_LOW_SPEED_LIMIT - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_LOW_SPEED_TIME - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_FORBID_REUSE - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_FRESH_CONNECT - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    • CURLOPT_VERBOSE - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. value is pointer to a long.
    • -
    -
    Returns
    IOTHUB_CLIENT_OK upon success or an error code upon failure.
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/iothub__client__ll_8h_source.html b/c/doc/api_reference/iothub__client__ll_8h_source.html deleted file mode 100644 index 5f0cb830..00000000 --- a/c/doc/api_reference/iothub__client__ll_8h_source.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client_ll.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    iothub_client_ll.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    23 #ifndef IOTHUB_CLIENT_LL_H
    -
    24 #define IOTHUB_CLIENT_LL_H
    -
    25 
    -
    26 #include "agenttime.h"
    -
    27 
    -
    28 #include "macro_utils.h"
    -
    29 
    -
    30 #include "iothub_message.h"
    -
    31 
    -
    32 #ifdef __cplusplus
    -
    33 extern "C"
    -
    34 {
    -
    35 #endif
    -
    36 
    -
    37 #define IOTHUB_CLIENT_RESULT_VALUES \
    -
    38  IOTHUB_CLIENT_OK, \
    -
    39  IOTHUB_CLIENT_INVALID_ARG, \
    -
    40  IOTHUB_CLIENT_ERROR, \
    -
    41  IOTHUB_CLIENT_INVALID_SIZE, \
    -
    42  IOTHUB_CLIENT_INDEFINITE_TIME \
    -
    43 
    -
    44 
    -
    46 DEFINE_ENUM(IOTHUB_CLIENT_RESULT, IOTHUB_CLIENT_RESULT_VALUES);
    -
    47 
    -
    48 #define IOTHUB_CLIENT_CONFIRMATION_RESULT_VALUES \
    -
    49  IOTHUB_CLIENT_CONFIRMATION_OK, \
    -
    50  IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY, \
    -
    51  IOTHUB_CLIENT_CONFIRMATION_ERROR \
    -
    52 
    -
    53 
    -
    57 DEFINE_ENUM(IOTHUB_CLIENT_CONFIRMATION_RESULT, IOTHUB_CLIENT_CONFIRMATION_RESULT_VALUES);
    -
    58 
    -
    59 #define IOTHUB_CLIENT_STATUS_VALUES \
    -
    60  IOTHUB_CLIENT_SEND_STATUS_IDLE, \
    -
    61  IOTHUB_CLIENT_SEND_STATUS_BUSY \
    -
    62 
    -
    63 
    -
    66 DEFINE_ENUM(IOTHUB_CLIENT_STATUS, IOTHUB_CLIENT_STATUS_VALUES);
    -
    67 
    -
    68 #define TRANSPORT_TYPE_VALUES \
    -
    69  TRANSPORT_LL, /*LL comes from "LowLevel" */ \
    -
    70  TRANSPORT_THREADED
    -
    71 
    -
    72 DEFINE_ENUM(TRANSPORT_TYPE, TRANSPORT_TYPE_VALUES);
    -
    73 
    -
    74 #define IOTHUBMESSAGE_DISPOSITION_RESULT_VALUES \
    -
    75  IOTHUBMESSAGE_ACCEPTED, \
    -
    76  IOTHUBMESSAGE_REJECTED, \
    -
    77  IOTHUBMESSAGE_ABANDONED
    -
    78 
    -
    82 DEFINE_ENUM(IOTHUBMESSAGE_DISPOSITION_RESULT, IOTHUBMESSAGE_DISPOSITION_RESULT_VALUES);
    -
    83 
    -
    84 typedef void* IOTHUB_CLIENT_LL_HANDLE;
    -
    85 typedef void(*IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK)(IOTHUB_CLIENT_CONFIRMATION_RESULT result, void* userContextCallback);
    -
    86 typedef IOTHUBMESSAGE_DISPOSITION_RESULT (*IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC)(IOTHUB_MESSAGE_HANDLE message, void* userContextCallback);
    -
    87 typedef const void*(*IOTHUB_CLIENT_TRANSPORT_PROVIDER)(void);
    -
    88 
    - -
    91 {
    -
    97  IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol;
    -
    98 
    -
    100  const char* deviceId;
    -
    101 
    -
    103  const char* deviceKey;
    -
    104 
    -
    106  const char* iotHubName;
    -
    107 
    -
    109  const char* iotHubSuffix;
    -
    110 
    -
    111  const char* protocolGatewayHostName;
    - -
    113 
    -
    129 extern IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString(const char* connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol);
    -
    130 
    -
    143 extern IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create(const IOTHUB_CLIENT_CONFIG* config);
    -
    144 
    -
    151 extern void IoTHubClient_LL_Destroy(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);
    -
    152 
    -
    173 extern IOTHUB_CLIENT_RESULT IoTHubClient_LL_SendEventAsync(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void* userContextCallback);
    -
    174 
    -
    187 extern IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetSendStatus(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus);
    -
    188 
    -
    204 extern IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetMessageCallback(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void* userContextCallback);
    -
    205 
    -
    217 extern IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetLastMessageReceiveTime(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, time_t* lastMessageReceiveTime);
    -
    218 
    -
    229 extern void IoTHubClient_LL_DoWork(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);
    -
    230 
    -
    268 extern IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetOption(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, const char* optionName, const void* value);
    -
    269 
    -
    270 #ifdef __cplusplus
    -
    271 }
    -
    272 #endif
    -
    273 
    -
    274 #endif /* IOTHUB_CLIENT_LL_H */
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SendEventAsync(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)
    Asynchronous call to send the message specified by eventMessageHandle.
    -
    enum IOTHUB_CLIENT_STATUS_TAG IOTHUB_CLIENT_STATUS
    Enumeration returned by the IoTHubClient_LL_GetSendStatus API to indicate the current sending status ...
    -
    struct IOTHUB_CLIENT_CONFIG_TAG IOTHUB_CLIENT_CONFIG
    This struct captures IoTHub client configuration.
    -
    const char * iotHubName
    The IoT Hub name to which the device is connecting.
    Definition: iothub_client_ll.h:106
    -
    const char * iotHubSuffix
    IoT Hub suffix goes here, e.g., private.azure-devices-int.net.
    Definition: iothub_client_ll.h:109
    -
    enum IOTHUB_CLIENT_RESULT_TAG IOTHUB_CLIENT_RESULT
    Enumeration specifying the status of calls to various APIs in this module.
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetSendStatus(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus)
    This function returns the current sending status for IoTHubClient.
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetOption(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, const char *optionName, const void *value)
    This API sets a runtime option identified by parameter optionName to a value pointed to by value...
    -
    enum IOTHUBMESSAGE_DISPOSITION_RESULT_TAG IOTHUBMESSAGE_DISPOSITION_RESULT
    Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the dev...
    -
    void IoTHubClient_LL_DoWork(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
    This function is meant to be called by the user when work (sending/receiving) can be done by the IoTH...
    -
    const char * deviceKey
    The device key used to authenticate the device.
    Definition: iothub_client_ll.h:103
    -
    Function prototypes for time related functions.
    -
    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString(const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)
    Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection st...
    -
    This struct captures IoTHub client configuration.
    Definition: iothub_client_ll.h:90
    -
    void IoTHubClient_LL_Destroy(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)
    Disposes of resources allocated by the IoT Hub client. This is a blocking call.
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetLastMessageReceiveTime(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)
    This function returns in the out parameter lastMessageReceiveTime what was the value of the time func...
    -
    const char * deviceId
    A string that identifies the device.
    Definition: iothub_client_ll.h:100
    -
    enum IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG IOTHUB_CLIENT_CONFIRMATION_RESULT
    Enumeration passed in by the IoT Hub when the event confirmation callback is invoked to indicate stat...
    -
    IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetMessageCallback(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)
    Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call.
    -
    IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol
    A function pointer that is passed into the IoTHubClientCreate. A function definition for AMQP...
    Definition: iothub_client_ll.h:97
    -
    IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create(const IOTHUB_CLIENT_CONFIG *config)
    Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters...
    -
    - - - - diff --git a/c/doc/api_reference/jquery.js b/c/doc/api_reference/jquery.js deleted file mode 100644 index 1f4d0b47..00000000 --- a/c/doc/api_reference/jquery.js +++ /dev/null @@ -1,68 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
    a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
    ";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
    t
    ";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
    ";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

    ";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
    ";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
    ","
    "]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
    ").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
    ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
    ');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' - - - - -
    - -
    -
    lock.h File Reference
    -
    -
    - -

    A minimalistic platform agnostic lock abstraction for thread synchronization. -More...

    -
    #include "macro_utils.h"
    -
    -

    Go to the source code of this file.

    -
    - - - - -

    -Typedefs

    -typedef enum LOCK_RESULT_TAG LOCK_RESULT
     Enumeration specifying the lock status.
     
    - - - - -

    -Enumerations

    enum  LOCK_RESULT_TAG
     Enumeration specifying the lock status.
     
    - - - - - - - - - - - - - -

    -Functions

    LOCK_HANDLE Lock_Init (void)
     This API creates and returns a valid lock handle. More...
     
    LOCK_RESULT Lock (LOCK_HANDLE handle)
     Acquires a lock on the given lock handle. Uses platform specific mutex primitives in its implementation. More...
     
    LOCK_RESULT Unlock (LOCK_HANDLE handle)
     Releases the lock on the given lock handle. Uses platform specific mutex primitives in its implementation. More...
     
    LOCK_RESULT Lock_Deinit (LOCK_HANDLE handle)
     The lock instance is destroyed. More...
     
    -

    Detailed Description

    -

    A minimalistic platform agnostic lock abstraction for thread synchronization.

    -

    The Lock component is implemented in order to achieve thread synchronization, as we may have a requirement to consume locks across different platforms. This component exposes some generic APIs so that it can be extended for platform specific implementations.

    -

    Function Documentation

    - -
    -
    - - - - - - - - -
    LOCK_RESULT Lock (LOCK_HANDLE handle)
    -
    - -

    Acquires a lock on the given lock handle. Uses platform specific mutex primitives in its implementation.

    -
    Parameters
    - - -
    handleA valid handle to the lock.
    -
    -
    -
    Returns
    Returns LOCK_OK when a lock has been acquired and LOCK_ERROR when an error occurs.
    - -
    -
    - -
    -
    - - - - - - - - -
    LOCK_RESULT Lock_Deinit (LOCK_HANDLE handle)
    -
    - -

    The lock instance is destroyed.

    -
    Parameters
    - - -
    handleA valid handle to the lock.
    -
    -
    -
    Returns
    Returns LOCK_OK when the lock object has been destroyed and LOCK_ERROR when an error occurs.
    - -
    -
    - -
    -
    - - - - - - - - -
    LOCK_HANDLE Lock_Init (void )
    -
    - -

    This API creates and returns a valid lock handle.

    -
    Returns
    A valid LOCK_HANDLE when successful or NULL otherwise.
    - -
    -
    - -
    -
    - - - - - - - - -
    LOCK_RESULT Unlock (LOCK_HANDLE handle)
    -
    - -

    Releases the lock on the given lock handle. Uses platform specific mutex primitives in its implementation.

    -
    Parameters
    - - -
    handleA valid handle to the lock.
    -
    -
    -
    Returns
    Returns LOCK_OK when the lock has been released and LOCK_ERROR when an error occurs.
    - -
    -
    - - - - - diff --git a/c/doc/api_reference/lock_8h_source.html b/c/doc/api_reference/lock_8h_source.html deleted file mode 100644 index 7088032a..00000000 --- a/c/doc/api_reference/lock_8h_source.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/lock.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    lock.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    14 #ifndef LOCK_H
    -
    15 #define LOCK_H
    -
    16 
    -
    17 #include "macro_utils.h"
    -
    18 
    -
    19 #ifdef __cplusplus
    -
    20 extern "C" {
    -
    21 #endif
    -
    22 
    -
    23 typedef void* LOCK_HANDLE;
    -
    24 
    -
    25 #define LOCK_RESULT_VALUES \
    -
    26  LOCK_OK, \
    -
    27  LOCK_ERROR \
    -
    28 
    -
    29 
    -
    31 DEFINE_ENUM(LOCK_RESULT, LOCK_RESULT_VALUES);
    -
    32 
    -
    38 extern LOCK_HANDLE Lock_Init(void);
    -
    39 
    -
    49 extern LOCK_RESULT Lock(LOCK_HANDLE handle);
    -
    50 
    -
    60 extern LOCK_RESULT Unlock(LOCK_HANDLE handle);
    -
    61 
    -
    70 extern LOCK_RESULT Lock_Deinit(LOCK_HANDLE handle);
    -
    71 
    -
    72 #ifdef __cplusplus
    -
    73 }
    -
    74 #endif
    -
    75 
    -
    76 #endif /* LOCK_H */
    -
    LOCK_HANDLE Lock_Init(void)
    This API creates and returns a valid lock handle.
    -
    enum LOCK_RESULT_TAG LOCK_RESULT
    Enumeration specifying the lock status.
    -
    LOCK_RESULT Lock(LOCK_HANDLE handle)
    Acquires a lock on the given lock handle. Uses platform specific mutex primitives in its implementati...
    -
    LOCK_RESULT Unlock(LOCK_HANDLE handle)
    Releases the lock on the given lock handle. Uses platform specific mutex primitives in its implementa...
    -
    LOCK_RESULT Lock_Deinit(LOCK_HANDLE handle)
    The lock instance is destroyed.
    -
    - - - - diff --git a/c/doc/api_reference/nav_f.png b/c/doc/api_reference/nav_f.png deleted file mode 100644 index 5ceae878cc8eb5b28d21195e7980e041cd58c003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQvRMUjv*C{Z|`p8Wl`jDxyY#H zb|_(kba~k)mp569S3gj#U&i6$Qv5wFZ6#C2bD3M!>Sm!!w}vInE}qnJL85u@_c+Es kOQ!@e+T3}&xBjobeYv5uSL0MUXQ0sxp00i_>zopr0ILoz;s5{u diff --git a/c/doc/api_reference/nav_g.png b/c/doc/api_reference/nav_g.png deleted file mode 100644 index 2093a237a94f6c83e19ec6e5fd42f7ddabdafa81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!K1|%O$WD@{VR-P`7Ar*{o?>cfFFyLT0aB==G zqxrWkIO(aLv^?JED*lDDVD^i5?0%b8F_qn`J;zXA{BLU5(Z{V<` - - - - - -Microsoft Azure IoT Device SDK for C: c/serializer/inc/schemalib.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    schemalib.h File Reference
    -
    -
    - -

    The IoT Hub Serializer APIs allows developers to define models for their devices. -More...

    -
    #include "macro_utils.h"
    -#include "strings.h"
    -#include "iotdevice.h"
    -
    -

    Go to the source code of this file.

    - - - - - - - - -

    -Typedefs

    -typedef enum SERIALIZER_RESULT_TAG SERIALIZER_RESULT
     Enumeration specifying the status of calls to various APIs in this module.
     
    -typedef enum SERIALIZER_CONFIG_TAG SERIALIZER_CONFIG
     Enumeration specifying the option to set on the serializer when calling serializer_setconfig.
     
    - - - - - - - -

    -Enumerations

    enum  SERIALIZER_RESULT_TAG
     Enumeration specifying the status of calls to various APIs in this module.
     
    enum  SERIALIZER_CONFIG_TAG
     Enumeration specifying the option to set on the serializer when calling serializer_setconfig.
     
    - - - - - - - - - - -

    -Functions

    SERIALIZER_RESULT serializer_init (const char *overrideSchemaNamespace)
     Initializes the library. More...
     
    void serializer_deinit (void)
     Shuts down the IOT library. More...
     
    SERIALIZER_RESULT serializer_setconfig (SERIALIZER_CONFIG which, void *value)
     Set serializer options. More...
     
    -

    Detailed Description

    -

    The IoT Hub Serializer APIs allows developers to define models for their devices.

    -

    Function Documentation

    - -
    -
    - - - - - - - - -
    void serializer_deinit (void )
    -
    - -

    Shuts down the IOT library.

    -

    The library will track all created devices and upon a call to serializer_deinit it will de-initialize all devices.

    - -
    -
    - -
    -
    - - - - - - - - -
    SERIALIZER_RESULT serializer_init (const char * overrideSchemaNamespace)
    -
    - -

    Initializes the library.

    -
    Parameters
    - - -
    overrideSchemaNamespaceAn override schema namespace to use for all models. Optional, can be NULL.
    -
    -
    -

    If schemaNamespace is not NULL, its value shall be used instead of the namespace defined for each model by using the DECLARE_XXX macro.

    -
    Returns
    SERIALIZER_OK on success and any other error on failure.
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    SERIALIZER_RESULT serializer_setconfig (SERIALIZER_CONFIG which,
    void * value 
    )
    -
    - -

    Set serializer options.

    -
    Parameters
    - - - -
    whichThe option to be set.
    valueThe value to set for the given option.
    -
    -
    -
    Returns
    SERIALIZER_OK on success and any other error on failure.
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/schemalib_8h_source.html b/c/doc/api_reference/schemalib_8h_source.html deleted file mode 100644 index 79825405..00000000 --- a/c/doc/api_reference/schemalib_8h_source.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/serializer/inc/schemalib.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    schemalib.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    9 #ifndef SCHEMALIB_H
    -
    10 #define SCHEMALIB_H
    -
    11 
    -
    12 #include "macro_utils.h"
    -
    13 #include "strings.h"
    -
    14 #include "iotdevice.h"
    -
    15 
    -
    16 #ifdef __cplusplus
    -
    17 extern "C" {
    -
    18 #endif
    -
    19 
    -
    20 /* Codes_SRS_SCHEMALIB__99_001:[ IoTHubSchema_Client shall expose the following API: ... ] */
    -
    21 #define SERIALIZER_RESULT_VALUES \
    -
    22  SERIALIZER_OK, \
    -
    23  SERIALIZER_INVALID_ARG, \
    -
    24  SERIALIZER_CODEFIRST_INIT_FAILED, \
    -
    25  SERIALIZER_SCHEMA_FAILED, \
    -
    26  SERIALIZER_HTTP_API_INIT_FAILED, \
    -
    27  SERIALIZER_ALREADY_INIT, \
    -
    28  SERIALIZER_ERROR, \
    -
    29  SERIALIZER_NOT_INITIALIZED, \
    -
    30  SERIALIZER_ALREADY_STARTED, \
    -
    31  SERIALIZER_DEVICE_CREATE_FAILED, \
    -
    32  SERIALIZER_GET_MODEL_HANDLE_FAILED, \
    -
    33  SERIALIZER_SERVICEBUS_FAILED
    -
    34 
    -
    38 DEFINE_ENUM(SERIALIZER_RESULT, SERIALIZER_RESULT_VALUES);
    -
    39 
    -
    40 #define SERIALIZER_CONFIG_VALUES \
    -
    41  CommandPollingInterval, \
    -
    42  SerializeDelayedBufferMaxSize
    -
    43 
    -
    47 DEFINE_ENUM(SERIALIZER_CONFIG, SERIALIZER_CONFIG_VALUES);
    -
    48 
    -
    61 extern SERIALIZER_RESULT serializer_init(const char* overrideSchemaNamespace);
    -
    62 
    -
    68 extern void serializer_deinit(void);
    -
    69 
    - -
    79 
    -
    80 #ifdef __cplusplus
    -
    81 }
    -
    82 #endif
    -
    83 
    -
    84 #endif /* SCHEMALIB_H */
    -
    SERIALIZER_RESULT serializer_setconfig(SERIALIZER_CONFIG which, void *value)
    Set serializer options.
    -
    enum SERIALIZER_CONFIG_TAG SERIALIZER_CONFIG
    Enumeration specifying the option to set on the serializer when calling serializer_setconfig.
    -
    void serializer_deinit(void)
    Shuts down the IOT library.
    -
    SERIALIZER_RESULT serializer_init(const char *overrideSchemaNamespace)
    Initializes the library.
    -
    enum SERIALIZER_RESULT_TAG SERIALIZER_RESULT
    Enumeration specifying the status of calls to various APIs in this module.
    -
    - - - - diff --git a/c/doc/api_reference/search/all_0.html b/c/doc/api_reference/search/all_0.html deleted file mode 100644 index 1d469500..00000000 --- a/c/doc/api_reference/search/all_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_0.js b/c/doc/api_reference/search/all_0.js deleted file mode 100644 index d9e50925..00000000 --- a/c/doc/api_reference/search/all_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['agenttime_2eh',['agenttime.h',['../agenttime_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/all_1.html b/c/doc/api_reference/search/all_1.html deleted file mode 100644 index 1fbc509c..00000000 --- a/c/doc/api_reference/search/all_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_1.js b/c/doc/api_reference/search/all_1.js deleted file mode 100644 index 01adfa6a..00000000 --- a/c/doc/api_reference/search/all_1.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['base64_2eh',['base64.h',['../base64_8h.html',1,'']]], - ['base64_5fdecoder',['Base64_Decoder',['../base64_8h.html#af53129a184d122641b31220cbd401402',1,'base64.h']]], - ['base64_5fencode',['Base64_Encode',['../base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb',1,'base64.h']]], - ['base64_5fencode_5fbytes',['Base64_Encode_Bytes',['../base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed',1,'base64.h']]], - ['begin_5fnamespace',['BEGIN_NAMESPACE',['../serializer_8h.html#ad409cf8f57d6766ce80a504e679bb6a6',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/all_2.html b/c/doc/api_reference/search/all_2.html deleted file mode 100644 index 93962b72..00000000 --- a/c/doc/api_reference/search/all_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_2.js b/c/doc/api_reference/search/all_2.js deleted file mode 100644 index ab29b311..00000000 --- a/c/doc/api_reference/search/all_2.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['declare_5fmodel',['DECLARE_MODEL',['../serializer_8h.html#a03ed9d2601530986f0be6c9e675a9489',1,'serializer.h']]], - ['declare_5fstruct',['DECLARE_STRUCT',['../serializer_8h.html#aeeaee7762d880f428ed4ba88ca7db1e6',1,'serializer.h']]], - ['deviceid',['deviceId',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0',1,'IOTHUB_CLIENT_CONFIG_TAG']]], - ['devicekey',['deviceKey',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d',1,'IOTHUB_CLIENT_CONFIG_TAG']]] -]; diff --git a/c/doc/api_reference/search/all_3.html b/c/doc/api_reference/search/all_3.html deleted file mode 100644 index 679f93ca..00000000 --- a/c/doc/api_reference/search/all_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_3.js b/c/doc/api_reference/search/all_3.js deleted file mode 100644 index d0e41346..00000000 --- a/c/doc/api_reference/search/all_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['end_5fnamespace',['END_NAMESPACE',['../serializer_8h.html#af169ba5b3435392cf046bd3e07e324d3',1,'serializer.h']]], - ['execute_5fcommand',['EXECUTE_COMMAND',['../serializer_8h.html#a8b306a60e81bcfdf3729962df530ec16',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/all_4.html b/c/doc/api_reference/search/all_4.html deleted file mode 100644 index adc99fbb..00000000 --- a/c/doc/api_reference/search/all_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_4.js b/c/doc/api_reference/search/all_4.js deleted file mode 100644 index 1bdc5891..00000000 --- a/c/doc/api_reference/search/all_4.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['get_5fctime',['get_ctime',['../agenttime_8h.html#a0d6a35518723789d23906b028da65636',1,'agenttime.h']]], - ['get_5fdifftime',['get_difftime',['../agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be',1,'agenttime.h']]], - ['get_5fgmtime',['get_gmtime',['../agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669',1,'agenttime.h']]], - ['get_5fmodel_5fhandle',['GET_MODEL_HANDLE',['../serializer_8h.html#a887590f4b40f78bf359c8e56f03c56fe',1,'serializer.h']]], - ['get_5ftime',['get_time',['../agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd',1,'agenttime.h']]] -]; diff --git a/c/doc/api_reference/search/all_5.html b/c/doc/api_reference/search/all_5.html deleted file mode 100644 index a9fcd170..00000000 --- a/c/doc/api_reference/search/all_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_5.js b/c/doc/api_reference/search/all_5.js deleted file mode 100644 index ad02ea0e..00000000 --- a/c/doc/api_reference/search/all_5.js +++ /dev/null @@ -1,33 +0,0 @@ -var searchData= -[ - ['http_5fheaders_5fresult',['HTTP_HEADERS_RESULT',['../httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46',1,'httpheaders.h']]], - ['http_5fheaders_5fresult_5ftag',['HTTP_HEADERS_RESULT_TAG',['../httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c',1,'httpheaders.h']]], - ['httpapi_2eh',['httpapi.h',['../httpapi_8h.html',1,'']]], - ['httpapi_5fcloneoption',['HTTPAPI_CloneOption',['../httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985',1,'httpapi.h']]], - ['httpapi_5fcloseconnection',['HTTPAPI_CloseConnection',['../httpapi_8h.html#aed5a7f4253357457399d03dad763d904',1,'httpapi.h']]], - ['httpapi_5fcreateconnection',['HTTPAPI_CreateConnection',['../httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174',1,'httpapi.h']]], - ['httpapi_5fdeinit',['HTTPAPI_Deinit',['../httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305',1,'httpapi.h']]], - ['httpapi_5fexecuterequest',['HTTPAPI_ExecuteRequest',['../httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1',1,'httpapi.h']]], - ['httpapi_5finit',['HTTPAPI_Init',['../httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4',1,'httpapi.h']]], - ['httpapi_5frequest_5ftype',['HTTPAPI_REQUEST_TYPE',['../httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d',1,'httpapi.h']]], - ['httpapi_5frequest_5ftype_5ftag',['HTTPAPI_REQUEST_TYPE_TAG',['../httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c',1,'httpapi.h']]], - ['httpapi_5fresult',['HTTPAPI_RESULT',['../httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480',1,'httpapi.h']]], - ['httpapi_5fresult_5ftag',['HTTPAPI_RESULT_TAG',['../httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87',1,'httpapi.h']]], - ['httpapi_5fsetoption',['HTTPAPI_SetOption',['../httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84',1,'httpapi.h']]], - ['httpapiex_2eh',['httpapiex.h',['../httpapiex_8h.html',1,'']]], - ['httpapiex_5fcreate',['HTTPAPIEX_Create',['../httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70',1,'httpapiex.h']]], - ['httpapiex_5fdestroy',['HTTPAPIEX_Destroy',['../httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d',1,'httpapiex.h']]], - ['httpapiex_5fexecuterequest',['HTTPAPIEX_ExecuteRequest',['../httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e',1,'httpapiex.h']]], - ['httpapiex_5fresult',['HTTPAPIEX_RESULT',['../httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8',1,'httpapiex.h']]], - ['httpapiex_5fresult_5ftag',['HTTPAPIEX_RESULT_TAG',['../httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8',1,'httpapiex.h']]], - ['httpapiex_5fsetoption',['HTTPAPIEX_SetOption',['../httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f',1,'httpapiex.h']]], - ['httpheaders_2eh',['httpheaders.h',['../httpheaders_8h.html',1,'']]], - ['httpheaders_5faddheadernamevaluepair',['HTTPHeaders_AddHeaderNameValuePair',['../httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8',1,'httpheaders.h']]], - ['httpheaders_5falloc',['HTTPHeaders_Alloc',['../httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c',1,'httpheaders.h']]], - ['httpheaders_5fclone',['HTTPHeaders_Clone',['../httpheaders_8h.html#afd829706924f49fc83ed5d334789378e',1,'httpheaders.h']]], - ['httpheaders_5ffindheadervalue',['HTTPHeaders_FindHeaderValue',['../httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076',1,'httpheaders.h']]], - ['httpheaders_5ffree',['HTTPHeaders_Free',['../httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2',1,'httpheaders.h']]], - ['httpheaders_5fgetheader',['HTTPHeaders_GetHeader',['../httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44',1,'httpheaders.h']]], - ['httpheaders_5fgetheadercount',['HTTPHeaders_GetHeaderCount',['../httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de',1,'httpheaders.h']]], - ['httpheaders_5freplaceheadernamevaluepair',['HTTPHeaders_ReplaceHeaderNameValuePair',['../httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3',1,'httpheaders.h']]] -]; diff --git a/c/doc/api_reference/search/all_6.html b/c/doc/api_reference/search/all_6.html deleted file mode 100644 index 821c374d..00000000 --- a/c/doc/api_reference/search/all_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_6.js b/c/doc/api_reference/search/all_6.js deleted file mode 100644 index d7c70df2..00000000 --- a/c/doc/api_reference/search/all_6.js +++ /dev/null @@ -1,34 +0,0 @@ -var searchData= -[ - ['iothub_5fclient_2eh',['iothub_client.h',['../iothub__client_8h.html',1,'']]], - ['iothub_5fclient_5fconfig',['IOTHUB_CLIENT_CONFIG',['../iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fconfig_5ftag',['IOTHUB_CLIENT_CONFIG_TAG',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html',1,'']]], - ['iothub_5fclient_5fconfirmation_5fresult',['IOTHUB_CLIENT_CONFIRMATION_RESULT',['../iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fconfirmation_5fresult_5ftag',['IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG',['../iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]], - ['iothub_5fclient_5fresult',['IOTHUB_CLIENT_RESULT',['../iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]], - ['iothubclient_5fcreate',['IoTHubClient_Create',['../iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d',1,'iothub_client.h']]], - ['iothubclient_5fcreatefromconnectionstring',['IoTHubClient_CreateFromConnectionString',['../iothub__client_8h.html#a190e08e1201046fda675517070d63e83',1,'iothub_client.h']]], - ['iothubclient_5fdestroy',['IoTHubClient_Destroy',['../iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83',1,'iothub_client.h']]], - ['iothubclient_5fgetlastmessagereceivetime',['IoTHubClient_GetLastMessageReceiveTime',['../iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79',1,'iothub_client.h']]], - ['iothubclient_5fgetsendstatus',['IoTHubClient_GetSendStatus',['../iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a',1,'iothub_client.h']]], - ['iothubclient_5fll_5fcreate',['IoTHubClient_LL_Create',['../iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fcreatefromconnectionstring',['IoTHubClient_LL_CreateFromConnectionString',['../iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fdestroy',['IoTHubClient_LL_Destroy',['../iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fdowork',['IoTHubClient_LL_DoWork',['../iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fgetlastmessagereceivetime',['IoTHubClient_LL_GetLastMessageReceiveTime',['../iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fgetsendstatus',['IoTHubClient_LL_GetSendStatus',['../iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fsendeventasync',['IoTHubClient_LL_SendEventAsync',['../iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fsetmessagecallback',['IoTHubClient_LL_SetMessageCallback',['../iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fsetoption',['IoTHubClient_LL_SetOption',['../iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2',1,'iothub_client_ll.h']]], - ['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]], - ['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]], - ['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]], - ['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]], - ['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]], - ['iothubname',['iotHubName',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c',1,'IOTHUB_CLIENT_CONFIG_TAG']]], - ['iothubsuffix',['iotHubSuffix',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68',1,'IOTHUB_CLIENT_CONFIG_TAG']]] -]; diff --git a/c/doc/api_reference/search/all_7.html b/c/doc/api_reference/search/all_7.html deleted file mode 100644 index 38c6c000..00000000 --- a/c/doc/api_reference/search/all_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_7.js b/c/doc/api_reference/search/all_7.js deleted file mode 100644 index 95cbed58..00000000 --- a/c/doc/api_reference/search/all_7.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['lock',['Lock',['../lock_8h.html#a146c21d68c41777d20ef1f7e30518505',1,'lock.h']]], - ['lock_2eh',['lock.h',['../lock_8h.html',1,'']]], - ['lock_5fdeinit',['Lock_Deinit',['../lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249',1,'lock.h']]], - ['lock_5finit',['Lock_Init',['../lock_8h.html#a3683432285e999baa8c543f27633829c',1,'lock.h']]], - ['lock_5fresult',['LOCK_RESULT',['../lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9',1,'lock.h']]], - ['lock_5fresult_5ftag',['LOCK_RESULT_TAG',['../lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa',1,'lock.h']]] -]; diff --git a/c/doc/api_reference/search/all_8.html b/c/doc/api_reference/search/all_8.html deleted file mode 100644 index 2a22cd52..00000000 --- a/c/doc/api_reference/search/all_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_8.js b/c/doc/api_reference/search/all_8.js deleted file mode 100644 index c4f4d193..00000000 --- a/c/doc/api_reference/search/all_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['microsoft_20azure_20iot_20device_20sdk_20for_20c',['Microsoft Azure IoT Device SDK for C',['../index.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/all_9.html b/c/doc/api_reference/search/all_9.html deleted file mode 100644 index bd9b05c3..00000000 --- a/c/doc/api_reference/search/all_9.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_9.js b/c/doc/api_reference/search/all_9.js deleted file mode 100644 index 966da3ae..00000000 --- a/c/doc/api_reference/search/all_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['protocol',['protocol',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca',1,'IOTHUB_CLIENT_CONFIG_TAG']]] -]; diff --git a/c/doc/api_reference/search/all_a.html b/c/doc/api_reference/search/all_a.html deleted file mode 100644 index 4a25af1c..00000000 --- a/c/doc/api_reference/search/all_a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_a.js b/c/doc/api_reference/search/all_a.js deleted file mode 100644 index e9638976..00000000 --- a/c/doc/api_reference/search/all_a.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['schemalib_2eh',['schemalib.h',['../schemalib_8h.html',1,'']]], - ['serialize',['SERIALIZE',['../serializer_8h.html#a18c48c356331a3ff3084ff604da29b91',1,'serializer.h']]], - ['serializer_2eh',['serializer.h',['../serializer_8h.html',1,'']]], - ['serializer_5fconfig',['SERIALIZER_CONFIG',['../schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910',1,'schemalib.h']]], - ['serializer_5fconfig_5ftag',['SERIALIZER_CONFIG_TAG',['../schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c',1,'schemalib.h']]], - ['serializer_5fdeinit',['serializer_deinit',['../schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2',1,'schemalib.h']]], - ['serializer_5finit',['serializer_init',['../schemalib_8h.html#a0efca90998d764b66602d0046333d4bd',1,'schemalib.h']]], - ['serializer_5fresult',['SERIALIZER_RESULT',['../schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920',1,'schemalib.h']]], - ['serializer_5fresult_5ftag',['SERIALIZER_RESULT_TAG',['../schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc',1,'schemalib.h']]], - ['serializer_5fsetconfig',['serializer_setconfig',['../schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7',1,'schemalib.h']]] -]; diff --git a/c/doc/api_reference/search/all_b.html b/c/doc/api_reference/search/all_b.html deleted file mode 100644 index a92de485..00000000 --- a/c/doc/api_reference/search/all_b.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_b.js b/c/doc/api_reference/search/all_b.js deleted file mode 100644 index 2bdcaf41..00000000 --- a/c/doc/api_reference/search/all_b.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['threadapi_2eh',['threadapi.h',['../threadapi_8h.html',1,'']]], - ['threadapi_5fcreate',['ThreadAPI_Create',['../threadapi_8h.html#aed50c815f4090261c06968bb90644b50',1,'threadapi.h']]], - ['threadapi_5fexit',['ThreadAPI_Exit',['../threadapi_8h.html#a304fd6867f922d6321f36569d1769d04',1,'threadapi.h']]], - ['threadapi_5fjoin',['ThreadAPI_Join',['../threadapi_8h.html#aa80bce4748cbe10f4b726f2ea3168609',1,'threadapi.h']]], - ['threadapi_5fresult',['THREADAPI_RESULT',['../threadapi_8h.html#aa3ec4389c15a7208ff9dfe12533781cd',1,'threadapi.h']]], - ['threadapi_5fresult_5ftag',['THREADAPI_RESULT_TAG',['../threadapi_8h.html#a66fa1f9dc4dba46aff5a1a9f7b013d2a',1,'threadapi.h']]], - ['threadapi_5fsleep',['ThreadAPI_Sleep',['../threadapi_8h.html#a9ce3ec671e3aa3ca28a3e93c514dac56',1,'threadapi.h']]] -]; diff --git a/c/doc/api_reference/search/all_c.html b/c/doc/api_reference/search/all_c.html deleted file mode 100644 index 20cdfbcf..00000000 --- a/c/doc/api_reference/search/all_c.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_c.js b/c/doc/api_reference/search/all_c.js deleted file mode 100644 index 68b53690..00000000 --- a/c/doc/api_reference/search/all_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['unlock',['Unlock',['../lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84',1,'lock.h']]] -]; diff --git a/c/doc/api_reference/search/all_d.html b/c/doc/api_reference/search/all_d.html deleted file mode 100644 index 00b28ed8..00000000 --- a/c/doc/api_reference/search/all_d.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/all_d.js b/c/doc/api_reference/search/all_d.js deleted file mode 100644 index 767e5660..00000000 --- a/c/doc/api_reference/search/all_d.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['with_5faction',['WITH_ACTION',['../serializer_8h.html#a2b3c020f5a3943e946cc9a01c958af4c',1,'serializer.h']]], - ['with_5fdata',['WITH_DATA',['../serializer_8h.html#aebcff311f305eddbad1712b8d7aded85',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/classes_0.html b/c/doc/api_reference/search/classes_0.html deleted file mode 100644 index 523591f0..00000000 --- a/c/doc/api_reference/search/classes_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/classes_0.js b/c/doc/api_reference/search/classes_0.js deleted file mode 100644 index 8c1e2964..00000000 --- a/c/doc/api_reference/search/classes_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['iothub_5fclient_5fconfig_5ftag',['IOTHUB_CLIENT_CONFIG_TAG',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/close.png b/c/doc/api_reference/search/close.png deleted file mode 100644 index 9342d3dfeea7b7c4ee610987e717804b5a42ceb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN diff --git a/c/doc/api_reference/search/defines_0.html b/c/doc/api_reference/search/defines_0.html deleted file mode 100644 index c3b36198..00000000 --- a/c/doc/api_reference/search/defines_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/defines_0.js b/c/doc/api_reference/search/defines_0.js deleted file mode 100644 index f3b09ddd..00000000 --- a/c/doc/api_reference/search/defines_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['begin_5fnamespace',['BEGIN_NAMESPACE',['../serializer_8h.html#ad409cf8f57d6766ce80a504e679bb6a6',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/defines_1.html b/c/doc/api_reference/search/defines_1.html deleted file mode 100644 index 09fcf9e5..00000000 --- a/c/doc/api_reference/search/defines_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/defines_1.js b/c/doc/api_reference/search/defines_1.js deleted file mode 100644 index 77c1c632..00000000 --- a/c/doc/api_reference/search/defines_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['declare_5fmodel',['DECLARE_MODEL',['../serializer_8h.html#a03ed9d2601530986f0be6c9e675a9489',1,'serializer.h']]], - ['declare_5fstruct',['DECLARE_STRUCT',['../serializer_8h.html#aeeaee7762d880f428ed4ba88ca7db1e6',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/defines_2.html b/c/doc/api_reference/search/defines_2.html deleted file mode 100644 index 6d6dc75e..00000000 --- a/c/doc/api_reference/search/defines_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/defines_2.js b/c/doc/api_reference/search/defines_2.js deleted file mode 100644 index d0e41346..00000000 --- a/c/doc/api_reference/search/defines_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['end_5fnamespace',['END_NAMESPACE',['../serializer_8h.html#af169ba5b3435392cf046bd3e07e324d3',1,'serializer.h']]], - ['execute_5fcommand',['EXECUTE_COMMAND',['../serializer_8h.html#a8b306a60e81bcfdf3729962df530ec16',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/defines_3.html b/c/doc/api_reference/search/defines_3.html deleted file mode 100644 index 5aba72ef..00000000 --- a/c/doc/api_reference/search/defines_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/defines_3.js b/c/doc/api_reference/search/defines_3.js deleted file mode 100644 index c094b645..00000000 --- a/c/doc/api_reference/search/defines_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['get_5fmodel_5fhandle',['GET_MODEL_HANDLE',['../serializer_8h.html#a887590f4b40f78bf359c8e56f03c56fe',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/defines_4.html b/c/doc/api_reference/search/defines_4.html deleted file mode 100644 index 7486f564..00000000 --- a/c/doc/api_reference/search/defines_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/defines_4.js b/c/doc/api_reference/search/defines_4.js deleted file mode 100644 index bb883179..00000000 --- a/c/doc/api_reference/search/defines_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['serialize',['SERIALIZE',['../serializer_8h.html#a18c48c356331a3ff3084ff604da29b91',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/defines_5.html b/c/doc/api_reference/search/defines_5.html deleted file mode 100644 index 3137e0ac..00000000 --- a/c/doc/api_reference/search/defines_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/defines_5.js b/c/doc/api_reference/search/defines_5.js deleted file mode 100644 index 767e5660..00000000 --- a/c/doc/api_reference/search/defines_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['with_5faction',['WITH_ACTION',['../serializer_8h.html#a2b3c020f5a3943e946cc9a01c958af4c',1,'serializer.h']]], - ['with_5fdata',['WITH_DATA',['../serializer_8h.html#aebcff311f305eddbad1712b8d7aded85',1,'serializer.h']]] -]; diff --git a/c/doc/api_reference/search/enums_0.html b/c/doc/api_reference/search/enums_0.html deleted file mode 100644 index d8d79a39..00000000 --- a/c/doc/api_reference/search/enums_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/enums_0.js b/c/doc/api_reference/search/enums_0.js deleted file mode 100644 index 88c5b2c6..00000000 --- a/c/doc/api_reference/search/enums_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['http_5fheaders_5fresult_5ftag',['HTTP_HEADERS_RESULT_TAG',['../httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c',1,'httpheaders.h']]], - ['httpapi_5frequest_5ftype_5ftag',['HTTPAPI_REQUEST_TYPE_TAG',['../httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c',1,'httpapi.h']]], - ['httpapi_5fresult_5ftag',['HTTPAPI_RESULT_TAG',['../httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87',1,'httpapi.h']]], - ['httpapiex_5fresult_5ftag',['HTTPAPIEX_RESULT_TAG',['../httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8',1,'httpapiex.h']]] -]; diff --git a/c/doc/api_reference/search/enums_1.html b/c/doc/api_reference/search/enums_1.html deleted file mode 100644 index 9c2ae9a9..00000000 --- a/c/doc/api_reference/search/enums_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/enums_1.js b/c/doc/api_reference/search/enums_1.js deleted file mode 100644 index 17e7fabb..00000000 --- a/c/doc/api_reference/search/enums_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['iothub_5fclient_5fconfirmation_5fresult_5ftag',['IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG',['../iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]], - ['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]] -]; diff --git a/c/doc/api_reference/search/enums_2.html b/c/doc/api_reference/search/enums_2.html deleted file mode 100644 index e547781d..00000000 --- a/c/doc/api_reference/search/enums_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/enums_2.js b/c/doc/api_reference/search/enums_2.js deleted file mode 100644 index 89bb9895..00000000 --- a/c/doc/api_reference/search/enums_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['lock_5fresult_5ftag',['LOCK_RESULT_TAG',['../lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa',1,'lock.h']]] -]; diff --git a/c/doc/api_reference/search/enums_3.html b/c/doc/api_reference/search/enums_3.html deleted file mode 100644 index 16795d5a..00000000 --- a/c/doc/api_reference/search/enums_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/enums_3.js b/c/doc/api_reference/search/enums_3.js deleted file mode 100644 index 91223ed6..00000000 --- a/c/doc/api_reference/search/enums_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['serializer_5fconfig_5ftag',['SERIALIZER_CONFIG_TAG',['../schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c',1,'schemalib.h']]], - ['serializer_5fresult_5ftag',['SERIALIZER_RESULT_TAG',['../schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc',1,'schemalib.h']]] -]; diff --git a/c/doc/api_reference/search/enums_4.html b/c/doc/api_reference/search/enums_4.html deleted file mode 100644 index 55ec3ef8..00000000 --- a/c/doc/api_reference/search/enums_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/enums_4.js b/c/doc/api_reference/search/enums_4.js deleted file mode 100644 index a24e7e78..00000000 --- a/c/doc/api_reference/search/enums_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['threadapi_5fresult_5ftag',['THREADAPI_RESULT_TAG',['../threadapi_8h.html#a66fa1f9dc4dba46aff5a1a9f7b013d2a',1,'threadapi.h']]] -]; diff --git a/c/doc/api_reference/search/files_0.html b/c/doc/api_reference/search/files_0.html deleted file mode 100644 index a2ec540b..00000000 --- a/c/doc/api_reference/search/files_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_0.js b/c/doc/api_reference/search/files_0.js deleted file mode 100644 index d9e50925..00000000 --- a/c/doc/api_reference/search/files_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['agenttime_2eh',['agenttime.h',['../agenttime_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/files_1.html b/c/doc/api_reference/search/files_1.html deleted file mode 100644 index 9e974daa..00000000 --- a/c/doc/api_reference/search/files_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_1.js b/c/doc/api_reference/search/files_1.js deleted file mode 100644 index 1490943d..00000000 --- a/c/doc/api_reference/search/files_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['base64_2eh',['base64.h',['../base64_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/files_2.html b/c/doc/api_reference/search/files_2.html deleted file mode 100644 index 04348f90..00000000 --- a/c/doc/api_reference/search/files_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_2.js b/c/doc/api_reference/search/files_2.js deleted file mode 100644 index 1b80e3ff..00000000 --- a/c/doc/api_reference/search/files_2.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['httpapi_2eh',['httpapi.h',['../httpapi_8h.html',1,'']]], - ['httpapiex_2eh',['httpapiex.h',['../httpapiex_8h.html',1,'']]], - ['httpheaders_2eh',['httpheaders.h',['../httpheaders_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/files_3.html b/c/doc/api_reference/search/files_3.html deleted file mode 100644 index 77942003..00000000 --- a/c/doc/api_reference/search/files_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_3.js b/c/doc/api_reference/search/files_3.js deleted file mode 100644 index a869252b..00000000 --- a/c/doc/api_reference/search/files_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['iothub_5fclient_2eh',['iothub_client.h',['../iothub__client_8h.html',1,'']]], - ['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/files_4.html b/c/doc/api_reference/search/files_4.html deleted file mode 100644 index e6bc2852..00000000 --- a/c/doc/api_reference/search/files_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_4.js b/c/doc/api_reference/search/files_4.js deleted file mode 100644 index 019afc3d..00000000 --- a/c/doc/api_reference/search/files_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['lock_2eh',['lock.h',['../lock_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/files_5.html b/c/doc/api_reference/search/files_5.html deleted file mode 100644 index 5ab2ed6a..00000000 --- a/c/doc/api_reference/search/files_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_5.js b/c/doc/api_reference/search/files_5.js deleted file mode 100644 index 30bec4fb..00000000 --- a/c/doc/api_reference/search/files_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['schemalib_2eh',['schemalib.h',['../schemalib_8h.html',1,'']]], - ['serializer_2eh',['serializer.h',['../serializer_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/files_6.html b/c/doc/api_reference/search/files_6.html deleted file mode 100644 index 9453495a..00000000 --- a/c/doc/api_reference/search/files_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/files_6.js b/c/doc/api_reference/search/files_6.js deleted file mode 100644 index d04a0c8a..00000000 --- a/c/doc/api_reference/search/files_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['threadapi_2eh',['threadapi.h',['../threadapi_8h.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/functions_0.html b/c/doc/api_reference/search/functions_0.html deleted file mode 100644 index 246d1672..00000000 --- a/c/doc/api_reference/search/functions_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_0.js b/c/doc/api_reference/search/functions_0.js deleted file mode 100644 index 7bef892f..00000000 --- a/c/doc/api_reference/search/functions_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['base64_5fdecoder',['Base64_Decoder',['../base64_8h.html#af53129a184d122641b31220cbd401402',1,'base64.h']]], - ['base64_5fencode',['Base64_Encode',['../base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb',1,'base64.h']]], - ['base64_5fencode_5fbytes',['Base64_Encode_Bytes',['../base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed',1,'base64.h']]] -]; diff --git a/c/doc/api_reference/search/functions_1.html b/c/doc/api_reference/search/functions_1.html deleted file mode 100644 index 5f14d674..00000000 --- a/c/doc/api_reference/search/functions_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_1.js b/c/doc/api_reference/search/functions_1.js deleted file mode 100644 index c20f87f6..00000000 --- a/c/doc/api_reference/search/functions_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['get_5fctime',['get_ctime',['../agenttime_8h.html#a0d6a35518723789d23906b028da65636',1,'agenttime.h']]], - ['get_5fdifftime',['get_difftime',['../agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be',1,'agenttime.h']]], - ['get_5fgmtime',['get_gmtime',['../agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669',1,'agenttime.h']]], - ['get_5ftime',['get_time',['../agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd',1,'agenttime.h']]] -]; diff --git a/c/doc/api_reference/search/functions_2.html b/c/doc/api_reference/search/functions_2.html deleted file mode 100644 index 3995cf8c..00000000 --- a/c/doc/api_reference/search/functions_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_2.js b/c/doc/api_reference/search/functions_2.js deleted file mode 100644 index 1770c0c9..00000000 --- a/c/doc/api_reference/search/functions_2.js +++ /dev/null @@ -1,22 +0,0 @@ -var searchData= -[ - ['httpapi_5fcloneoption',['HTTPAPI_CloneOption',['../httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985',1,'httpapi.h']]], - ['httpapi_5fcloseconnection',['HTTPAPI_CloseConnection',['../httpapi_8h.html#aed5a7f4253357457399d03dad763d904',1,'httpapi.h']]], - ['httpapi_5fcreateconnection',['HTTPAPI_CreateConnection',['../httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174',1,'httpapi.h']]], - ['httpapi_5fdeinit',['HTTPAPI_Deinit',['../httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305',1,'httpapi.h']]], - ['httpapi_5fexecuterequest',['HTTPAPI_ExecuteRequest',['../httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1',1,'httpapi.h']]], - ['httpapi_5finit',['HTTPAPI_Init',['../httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4',1,'httpapi.h']]], - ['httpapi_5fsetoption',['HTTPAPI_SetOption',['../httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84',1,'httpapi.h']]], - ['httpapiex_5fcreate',['HTTPAPIEX_Create',['../httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70',1,'httpapiex.h']]], - ['httpapiex_5fdestroy',['HTTPAPIEX_Destroy',['../httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d',1,'httpapiex.h']]], - ['httpapiex_5fexecuterequest',['HTTPAPIEX_ExecuteRequest',['../httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e',1,'httpapiex.h']]], - ['httpapiex_5fsetoption',['HTTPAPIEX_SetOption',['../httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f',1,'httpapiex.h']]], - ['httpheaders_5faddheadernamevaluepair',['HTTPHeaders_AddHeaderNameValuePair',['../httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8',1,'httpheaders.h']]], - ['httpheaders_5falloc',['HTTPHeaders_Alloc',['../httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c',1,'httpheaders.h']]], - ['httpheaders_5fclone',['HTTPHeaders_Clone',['../httpheaders_8h.html#afd829706924f49fc83ed5d334789378e',1,'httpheaders.h']]], - ['httpheaders_5ffindheadervalue',['HTTPHeaders_FindHeaderValue',['../httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076',1,'httpheaders.h']]], - ['httpheaders_5ffree',['HTTPHeaders_Free',['../httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2',1,'httpheaders.h']]], - ['httpheaders_5fgetheader',['HTTPHeaders_GetHeader',['../httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44',1,'httpheaders.h']]], - ['httpheaders_5fgetheadercount',['HTTPHeaders_GetHeaderCount',['../httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de',1,'httpheaders.h']]], - ['httpheaders_5freplaceheadernamevaluepair',['HTTPHeaders_ReplaceHeaderNameValuePair',['../httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3',1,'httpheaders.h']]] -]; diff --git a/c/doc/api_reference/search/functions_3.html b/c/doc/api_reference/search/functions_3.html deleted file mode 100644 index 4e302d69..00000000 --- a/c/doc/api_reference/search/functions_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_3.js b/c/doc/api_reference/search/functions_3.js deleted file mode 100644 index 01c66ea0..00000000 --- a/c/doc/api_reference/search/functions_3.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['iothubclient_5fcreate',['IoTHubClient_Create',['../iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d',1,'iothub_client.h']]], - ['iothubclient_5fcreatefromconnectionstring',['IoTHubClient_CreateFromConnectionString',['../iothub__client_8h.html#a190e08e1201046fda675517070d63e83',1,'iothub_client.h']]], - ['iothubclient_5fdestroy',['IoTHubClient_Destroy',['../iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83',1,'iothub_client.h']]], - ['iothubclient_5fgetlastmessagereceivetime',['IoTHubClient_GetLastMessageReceiveTime',['../iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79',1,'iothub_client.h']]], - ['iothubclient_5fgetsendstatus',['IoTHubClient_GetSendStatus',['../iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a',1,'iothub_client.h']]], - ['iothubclient_5fll_5fcreate',['IoTHubClient_LL_Create',['../iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fcreatefromconnectionstring',['IoTHubClient_LL_CreateFromConnectionString',['../iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fdestroy',['IoTHubClient_LL_Destroy',['../iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fdowork',['IoTHubClient_LL_DoWork',['../iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fgetlastmessagereceivetime',['IoTHubClient_LL_GetLastMessageReceiveTime',['../iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fgetsendstatus',['IoTHubClient_LL_GetSendStatus',['../iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fsendeventasync',['IoTHubClient_LL_SendEventAsync',['../iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fsetmessagecallback',['IoTHubClient_LL_SetMessageCallback',['../iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c',1,'iothub_client_ll.h']]], - ['iothubclient_5fll_5fsetoption',['IoTHubClient_LL_SetOption',['../iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2',1,'iothub_client_ll.h']]], - ['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]], - ['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]], - ['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]] -]; diff --git a/c/doc/api_reference/search/functions_4.html b/c/doc/api_reference/search/functions_4.html deleted file mode 100644 index 58ca83a6..00000000 --- a/c/doc/api_reference/search/functions_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_4.js b/c/doc/api_reference/search/functions_4.js deleted file mode 100644 index 6edf64ac..00000000 --- a/c/doc/api_reference/search/functions_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['lock',['Lock',['../lock_8h.html#a146c21d68c41777d20ef1f7e30518505',1,'lock.h']]], - ['lock_5fdeinit',['Lock_Deinit',['../lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249',1,'lock.h']]], - ['lock_5finit',['Lock_Init',['../lock_8h.html#a3683432285e999baa8c543f27633829c',1,'lock.h']]] -]; diff --git a/c/doc/api_reference/search/functions_5.html b/c/doc/api_reference/search/functions_5.html deleted file mode 100644 index 5f9f05ae..00000000 --- a/c/doc/api_reference/search/functions_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_5.js b/c/doc/api_reference/search/functions_5.js deleted file mode 100644 index 72eebf90..00000000 --- a/c/doc/api_reference/search/functions_5.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['serializer_5fdeinit',['serializer_deinit',['../schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2',1,'schemalib.h']]], - ['serializer_5finit',['serializer_init',['../schemalib_8h.html#a0efca90998d764b66602d0046333d4bd',1,'schemalib.h']]], - ['serializer_5fsetconfig',['serializer_setconfig',['../schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7',1,'schemalib.h']]] -]; diff --git a/c/doc/api_reference/search/functions_6.html b/c/doc/api_reference/search/functions_6.html deleted file mode 100644 index c980da25..00000000 --- a/c/doc/api_reference/search/functions_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_6.js b/c/doc/api_reference/search/functions_6.js deleted file mode 100644 index f5684323..00000000 --- a/c/doc/api_reference/search/functions_6.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['threadapi_5fcreate',['ThreadAPI_Create',['../threadapi_8h.html#aed50c815f4090261c06968bb90644b50',1,'threadapi.h']]], - ['threadapi_5fexit',['ThreadAPI_Exit',['../threadapi_8h.html#a304fd6867f922d6321f36569d1769d04',1,'threadapi.h']]], - ['threadapi_5fjoin',['ThreadAPI_Join',['../threadapi_8h.html#aa80bce4748cbe10f4b726f2ea3168609',1,'threadapi.h']]], - ['threadapi_5fsleep',['ThreadAPI_Sleep',['../threadapi_8h.html#a9ce3ec671e3aa3ca28a3e93c514dac56',1,'threadapi.h']]] -]; diff --git a/c/doc/api_reference/search/functions_7.html b/c/doc/api_reference/search/functions_7.html deleted file mode 100644 index 38573293..00000000 --- a/c/doc/api_reference/search/functions_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/functions_7.js b/c/doc/api_reference/search/functions_7.js deleted file mode 100644 index 68b53690..00000000 --- a/c/doc/api_reference/search/functions_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['unlock',['Unlock',['../lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84',1,'lock.h']]] -]; diff --git a/c/doc/api_reference/search/mag_sel.png b/c/doc/api_reference/search/mag_sel.png deleted file mode 100644 index 81f6040a2092402b4d98f9ffa8855d12a0d4ca17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn diff --git a/c/doc/api_reference/search/nomatches.html b/c/doc/api_reference/search/nomatches.html deleted file mode 100644 index b1ded27e..00000000 --- a/c/doc/api_reference/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
    -
    No Matches
    -
    - - diff --git a/c/doc/api_reference/search/pages_0.html b/c/doc/api_reference/search/pages_0.html deleted file mode 100644 index 75d203dc..00000000 --- a/c/doc/api_reference/search/pages_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/pages_0.js b/c/doc/api_reference/search/pages_0.js deleted file mode 100644 index c4f4d193..00000000 --- a/c/doc/api_reference/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['microsoft_20azure_20iot_20device_20sdk_20for_20c',['Microsoft Azure IoT Device SDK for C',['../index.html',1,'']]] -]; diff --git a/c/doc/api_reference/search/search.css b/c/doc/api_reference/search/search.css deleted file mode 100644 index 0ed6a1de..00000000 --- a/c/doc/api_reference/search/search.css +++ /dev/null @@ -1,271 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#MSearchBox { - white-space : nowrap; - position: absolute; - float: none; - display: inline; - margin-top: 8px; - right: 0px; - width: 170px; - z-index: 102; - background-color: white; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:111px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:0px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #AFAFAF; - background-color: #FAFAFA; - z-index: 1; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #646464; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #F2F2F2; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #6C6C6C; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #6C6C6C; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.searchresult { - background-color: #F4F4F4; -} - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/c/doc/api_reference/search/search.js b/c/doc/api_reference/search/search.js deleted file mode 100644 index dedce3bf..00000000 --- a/c/doc/api_reference/search/search.js +++ /dev/null @@ -1,791 +0,0 @@ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W diff --git a/c/doc/api_reference/search/search_r.png b/c/doc/api_reference/search/search_r.png deleted file mode 100644 index 97ee8b439687084201b79c6f776a41f495c6392a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/typedefs_0.js b/c/doc/api_reference/search/typedefs_0.js deleted file mode 100644 index cf27dcaf..00000000 --- a/c/doc/api_reference/search/typedefs_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['http_5fheaders_5fresult',['HTTP_HEADERS_RESULT',['../httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46',1,'httpheaders.h']]], - ['httpapi_5frequest_5ftype',['HTTPAPI_REQUEST_TYPE',['../httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d',1,'httpapi.h']]], - ['httpapi_5fresult',['HTTPAPI_RESULT',['../httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480',1,'httpapi.h']]], - ['httpapiex_5fresult',['HTTPAPIEX_RESULT',['../httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8',1,'httpapiex.h']]] -]; diff --git a/c/doc/api_reference/search/typedefs_1.html b/c/doc/api_reference/search/typedefs_1.html deleted file mode 100644 index c44c36f9..00000000 --- a/c/doc/api_reference/search/typedefs_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/typedefs_1.js b/c/doc/api_reference/search/typedefs_1.js deleted file mode 100644 index bf817d34..00000000 --- a/c/doc/api_reference/search/typedefs_1.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['iothub_5fclient_5fconfig',['IOTHUB_CLIENT_CONFIG',['../iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fconfirmation_5fresult',['IOTHUB_CLIENT_CONFIRMATION_RESULT',['../iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fresult',['IOTHUB_CLIENT_RESULT',['../iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd',1,'iothub_client_ll.h']]], - ['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]], - ['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]] -]; diff --git a/c/doc/api_reference/search/typedefs_2.html b/c/doc/api_reference/search/typedefs_2.html deleted file mode 100644 index d64bac3c..00000000 --- a/c/doc/api_reference/search/typedefs_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/typedefs_2.js b/c/doc/api_reference/search/typedefs_2.js deleted file mode 100644 index 80915d49..00000000 --- a/c/doc/api_reference/search/typedefs_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['lock_5fresult',['LOCK_RESULT',['../lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9',1,'lock.h']]] -]; diff --git a/c/doc/api_reference/search/typedefs_3.html b/c/doc/api_reference/search/typedefs_3.html deleted file mode 100644 index 10b9917f..00000000 --- a/c/doc/api_reference/search/typedefs_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/typedefs_3.js b/c/doc/api_reference/search/typedefs_3.js deleted file mode 100644 index 11dcc0fe..00000000 --- a/c/doc/api_reference/search/typedefs_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['serializer_5fconfig',['SERIALIZER_CONFIG',['../schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910',1,'schemalib.h']]], - ['serializer_5fresult',['SERIALIZER_RESULT',['../schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920',1,'schemalib.h']]] -]; diff --git a/c/doc/api_reference/search/typedefs_4.html b/c/doc/api_reference/search/typedefs_4.html deleted file mode 100644 index c1ff64d1..00000000 --- a/c/doc/api_reference/search/typedefs_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/typedefs_4.js b/c/doc/api_reference/search/typedefs_4.js deleted file mode 100644 index ff22491a..00000000 --- a/c/doc/api_reference/search/typedefs_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['threadapi_5fresult',['THREADAPI_RESULT',['../threadapi_8h.html#aa3ec4389c15a7208ff9dfe12533781cd',1,'threadapi.h']]] -]; diff --git a/c/doc/api_reference/search/variables_0.html b/c/doc/api_reference/search/variables_0.html deleted file mode 100644 index c98c0467..00000000 --- a/c/doc/api_reference/search/variables_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/variables_0.js b/c/doc/api_reference/search/variables_0.js deleted file mode 100644 index 8f0865b6..00000000 --- a/c/doc/api_reference/search/variables_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['deviceid',['deviceId',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0',1,'IOTHUB_CLIENT_CONFIG_TAG']]], - ['devicekey',['deviceKey',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d',1,'IOTHUB_CLIENT_CONFIG_TAG']]] -]; diff --git a/c/doc/api_reference/search/variables_1.html b/c/doc/api_reference/search/variables_1.html deleted file mode 100644 index 3eab7eaf..00000000 --- a/c/doc/api_reference/search/variables_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/variables_1.js b/c/doc/api_reference/search/variables_1.js deleted file mode 100644 index 327314f1..00000000 --- a/c/doc/api_reference/search/variables_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['iothubname',['iotHubName',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c',1,'IOTHUB_CLIENT_CONFIG_TAG']]], - ['iothubsuffix',['iotHubSuffix',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68',1,'IOTHUB_CLIENT_CONFIG_TAG']]] -]; diff --git a/c/doc/api_reference/search/variables_2.html b/c/doc/api_reference/search/variables_2.html deleted file mode 100644 index 282f35b3..00000000 --- a/c/doc/api_reference/search/variables_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/c/doc/api_reference/search/variables_2.js b/c/doc/api_reference/search/variables_2.js deleted file mode 100644 index 966da3ae..00000000 --- a/c/doc/api_reference/search/variables_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['protocol',['protocol',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca',1,'IOTHUB_CLIENT_CONFIG_TAG']]] -]; diff --git a/c/doc/api_reference/serializer_8h.html b/c/doc/api_reference/serializer_8h.html deleted file mode 100644 index 0805ffdd..00000000 --- a/c/doc/api_reference/serializer_8h.html +++ /dev/null @@ -1,455 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/serializer/inc/serializer.h File Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    serializer.h File Reference
    -
    -
    - -

    The IoT Hub Serializer APIs allows developers to define models for their devices. -More...

    -
    #include <stdlib.h>
    -#include <stdarg.h>
    -#include "gballoc.h"
    -#include "macro_utils.h"
    -#include "iotdevice.h"
    -#include "crt_abstractions.h"
    -#include "iot_logging.h"
    -#include "schemalib.h"
    -#include "codefirst.h"
    -#include "agenttypesystem.h"
    -#include "schema.h"
    -
    -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - - - - -

    -Macros

    #define BEGIN_NAMESPACE(schemaNamespace)
     
    #define END_NAMESPACE(schemaNamespace)
     
    #define DECLARE_STRUCT(name, ...)
     
    #define DECLARE_MODEL(name, ...)
     
    #define WITH_DATA(type, name)
     
    #define WITH_ACTION(name, ...)
     
    #define GET_MODEL_HANDLE(schemaNamespace, modelName)
     
    #define SERIALIZE(destination, destinationSize, ...)
     
    #define EXECUTE_COMMAND(device, command)
     
    -

    Detailed Description

    -

    The IoT Hub Serializer APIs allows developers to define models for their devices.

    -

    The IoT Hub Serializer APIs allows developers to quickly and easily define models for their devices directly as code, while supporting the required features for modeling devices (including multiple models and multiple devices within the same application). For example:

    -
    -    BEGIN_NAMESPACE(Contoso);
            DECLARE_STRUCT(SystemProperties,
    -            ascii_char_ptr, DeviceID,
    -            _Bool, Enabled
    -        );
            DECLARE_MODEL(VendingMachine,
                WITH_DATA(int, SensorValue),
                WITH_DATA(ascii_char_ptr, ObjectName),
    -            WITH_DATA(ascii_char_ptr, ObjectType),
    -            WITH_DATA(ascii_char_ptr, Version),
    -            WITH_DATA(SystemProperties, SystemProperties),
    -            WITH_DATA(ascii_char_ptr_no_quotes, Commands),
                WITH_ACTION(SetItemPrice, ascii_char_ptr, itemId, ascii_char_ptr, price)
    -        );
        END_NAMESPACE(Contoso);
    -    

    Macro Definition Documentation

    - -
    -
    - - - - - - - - -
    #define BEGIN_NAMESPACE( schemaNamespace)
    -
    -

    This macro marks the start of a section that declares IOT model elements (like complex types, etc.). Declarations are typically placed in header files, so that they can be shared between translation units.

    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define DECLARE_MODEL( name,
     ... 
    )
    -
    -

    This macro allows declaring a model that can be later used to instantiate a device.

    -
    Parameters
    - - - -
    nameSpecifies the model name
    element1,element2...Specifies a model element which can be a property or an action.
      -
    • A property is described in a model by using the WITH_DATA
    • -
    • An action is described in a model by using the WITH_ACTION macro.
    • -
    -
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define DECLARE_STRUCT( name,
     ... 
    )
    -
    -

    This macro allows the definition of a struct type that can then be used as part of a model definition.

    -
    Parameters
    - - - -
    nameName of the struct
    element1,element2...Specifies a list of struct members
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - -
    #define END_NAMESPACE( schemaNamespace)
    -
    -

    This macro marks the end of a section that declares IOT model elements.

    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define EXECUTE_COMMAND( device,
     command 
    )
    -
    -

    Any action that is declared in a model must also have an implementation as a C function.

    -
    Parameters
    - - - -
    devicePointer to device data.
    commandValues that match the arguments declared in the model action.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define GET_MODEL_HANDLE( schemaNamespace,
     modelName 
    )
    -
    -

    The GET_MODEL_HANDLE macro returns a model handle that can be used in subsequent operations like generating the CSDL schema for the model, uploading the schema, creating a device, etc.

    -
    Parameters
    - - - -
    schemaNamespaceThe namespace to which the model belongs.
    modelNameThe name of the model.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    #define SERIALIZE( destination,
     destinationSize,
     ... 
    )
    -
    -

    This macro produces JSON serialized representation of the properties.

    -
    Parameters
    - - - - -
    destinationPointer to an unsigned char* that will receive the serialized data.
    destinationSizePointer to a size_t that gets written with the size in bytes of the serialized data
    property1,property2...A list of property values to send. The order in which the properties appear in the list does not matter, all values will be sent together.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define WITH_ACTION( name,
     ... 
    )
    -
    -

    The WITH_ACTION macro allows declaring a model action.

    -
    Parameters
    - - - -
    nameSpecifies the action name.
    argXtype,argXName...Defines the type and name for the Xth argument of the action. The type can be any of the primitive types or a struct type.
    -
    -
    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    #define WITH_DATA( type,
     name 
    )
    -
    -

    The WITH_DATA macro allows declaring a model property in a model. A property can be published by using the SERIALIZE macro.

    -
    Parameters
    - - - -
    typeSpecifies the property type. Can be any of the following types:
      -
    • int
    • -
    • double
    • -
    • float
    • -
    • long
    • -
    • int8_t
    • -
    • uint8_t
    • -
    • int16_t
    • -
    • int32_t
    • -
    • int64_t
    • -
    • bool
    • -
    • ascii_char_ptr
    • -
    • EDM_DATE_TIME_OFFSET
    • -
    • EDM_GUID
    • -
    • EDM_BINARY
    • -
    • Any struct type previously introduced by another DECLARE_STRUCT.
    • -
    -
    nameSpecifies the property name
    -
    -
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/serializer_8h_source.html b/c/doc/api_reference/serializer_8h_source.html deleted file mode 100644 index a51fccc5..00000000 --- a/c/doc/api_reference/serializer_8h_source.html +++ /dev/null @@ -1,1077 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/serializer/inc/serializer.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    serializer.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    38 #ifndef SERIALIZER_H
    -
    39 #define SERIALIZER_H
    -
    40 
    -
    41 #ifdef __cplusplus
    -
    42 #include <cstdlib>
    -
    43 #include <cstdarg>
    -
    44 
    -
    45 #else
    -
    46 #include <stdlib.h>
    -
    47 #include <stdarg.h>
    -
    48 #endif
    -
    49 
    -
    50 #ifdef _CRTDBG_MAP_ALLOC
    -
    51 #include <crtdbg.h>
    -
    52 #endif
    -
    53 
    -
    54 #include "gballoc.h"
    -
    55 #include "macro_utils.h"
    -
    56 #include "iotdevice.h"
    -
    57 #include "crt_abstractions.h"
    -
    58 #include "iot_logging.h"
    -
    59 #include "schemalib.h"
    -
    60 #include "codefirst.h"
    -
    61 #include "agenttypesystem.h"
    -
    62 #include "schema.h"
    -
    63 
    -
    64 
    -
    65 #ifdef __cplusplus
    -
    66 extern "C"
    -
    67 {
    -
    68 #endif
    -
    69 
    -
    70 #define IOT_AGENT_RESULT_ENUM_VALUES \
    -
    71  IOT_AGENT_OK, \
    -
    72  IOT_AGENT_AGENT_DATA_TYPES_ERROR, \
    -
    73  IOT_AGENT_COMMAND_EXECUTION_ERROR, \
    -
    74  IOT_AGENT_ERROR, \
    -
    75  IOT_AGENT_SERIALIZE_FAILED, \
    -
    76  IOT_AGENT_INVALID_ARG
    -
    77 
    -
    78 DEFINE_ENUM(IOT_AGENT_RESULT, IOT_AGENT_RESULT_ENUM_VALUES);
    -
    79 
    -
    80 
    -
    81 /* IOT Agent Macros */
    -
    82 
    -
    90 /* Codes_SRS_SERIALIZER_99_001:[For each completed schema declaration block, a unique storage container for schema metadata shall be available in the translation unit at runtime.] */
    -
    91 #define BEGIN_NAMESPACE(schemaNamespace) \
    -
    92  REFLECTED_END_OF_LIST
    -
    93 
    -
    99 #define END_NAMESPACE(schemaNamespace) \
    -
    100  REFLECTED_LIST_HEAD(schemaNamespace)
    -
    101 
    -
    110 /* Codes_SRS_SERIALIZER_99_080:[ The DECLARE_STRUCT declaration shall insert metadata describing a complex data type.] */
    -
    111 #define DECLARE_STRUCT(name, ...) \
    -
    112  /* Codes_SRS_SERIALIZER_99_096:[ DECLARE_STRUCT shall declare a matching C struct data type named name, which can be referenced from any code that can access the declaration.] */ \
    -
    113  typedef struct name##_TAG { \
    -
    114  FOR_EACH_2(INSERT_FIELD_INTO_STRUCT, __VA_ARGS__) \
    -
    115  } name; \
    -
    116  /* Codes_SRS_SERIALIZER_99_081:[ DECLARE_STRUCT's name argument shall uniquely identify the struct within the schema.] */ \
    -
    117  REFLECTED_STRUCT(name) \
    -
    118  /* Codes_SRS_SERIALIZER_99_082:[ DECLARE_STRUCT's field<n>Name argument shall uniquely name a field within the struct.] */ \
    -
    119  FOR_EACH_2_KEEP_1(REFLECTED_FIELD, name, __VA_ARGS__) \
    -
    120  TO_AGENT_DATA_TYPE(name, __VA_ARGS__) \
    -
    121  /*Codes_SRS_SERIALIZER_99_042:[ The parameter types are either predefined parameter types (specs SRS_SERIALIZER_99_004-SRS_SERIALIZER_99_014) or a type introduced by DECLARE_STRUCT.]*/ \
    -
    122  static AGENT_DATA_TYPES_RESULT FromAGENT_DATA_TYPE_##name(const AGENT_DATA_TYPE* source, name* destination) \
    -
    123  { \
    -
    124  AGENT_DATA_TYPES_RESULT result; \
    -
    125  if(source->type != EDM_COMPLEX_TYPE_TYPE) \
    -
    126  { \
    -
    127  result = AGENT_DATA_TYPES_INVALID_ARG; \
    -
    128  } \
    -
    129  else if(DIV2(COUNT_ARG(__VA_ARGS__)) != source->value.edmComplexType.nMembers) \
    -
    130  { \
    -
    131  /*too many or too few fields*/ \
    -
    132  result = AGENT_DATA_TYPES_INVALID_ARG; \
    -
    133  } \
    -
    134  else \
    -
    135  { \
    -
    136  result = AGENT_DATA_TYPES_OK; \
    -
    137  FOR_EACH_2(BUILD_DESTINATION_FIELD, __VA_ARGS__); \
    -
    138  } \
    -
    139  return result; \
    -
    140  } \
    -
    141  static void C2(destroyLocalParameter, name)(name * value) \
    -
    142  { \
    -
    143  FOR_EACH_2_KEEP_1(UNBUILD_DESTINATION_FIELD, value, __VA_ARGS__); \
    -
    144  }
    -
    145 
    -
    161 /* WITH_DATA's name argument shall be one of the following data types: */
    -
    162 /* Codes_SRS_SERIALIZER_99_133:[a model type introduced previously by DECLARE_MODEL] */
    -
    163 #define DECLARE_MODEL(name, ...) \
    -
    164  REFLECTED_MODEL(name) \
    -
    165  typedef struct name { int :1; FOR_EACH_1(BUILD_MODEL_STRUCT, __VA_ARGS__) } name; \
    -
    166  FOR_EACH_1_KEEP_1(CREATE_MODEL_ELEMENT, name, __VA_ARGS__) \
    -
    167  TO_AGENT_DATA_TYPE(name, DROP_FIRST_COMMA_FROM_ARGS(EXPAND_MODEL_ARGS(__VA_ARGS__)))
    -
    168 
    -
    194 #define WITH_DATA(type, name) MODEL_PROPERTY(type, name)
    -
    195 
    -
    205 /*Codes_SRS_SERIALIZER_99_039:[WITH_ACTION shall declare an action of the current data provider called as the first macro parameter(name) and having the first parameter called parameter1Name of type parameter1Type, the second parameter named parameter2Name having the type parameter2Type and so on.]*/
    -
    206 #define WITH_ACTION(name, ...) MODEL_ACTION(name, __VA_ARGS__)
    -
    207 
    -
    217 /* Codes_SRS_SERIALIZER_99_110:[ The GET_MODEL_HANDLE function macro shall first register the schema by calling CodeFirst_RegisterSchema, passing schemaNamespace and a pointer to the metadata generated in the schema declaration block.] */
    -
    218 /* Codes_SRS_SERIALIZER_99_094:[ GET_MODEL_HANDLE shall then call Schema_GetModelByName, passing the schemaHandle obtained from CodeFirst_RegisterSchema and modelName arguments, to retrieve the SCHEMA_MODEL_TYPE_HANDLE corresponding to the modelName argument.] */
    -
    219 /* Codes_SRS_SERIALIZER_99_112:[ GET_MODEL_HANDLE will return the handle for the named model.] */
    -
    220 #define GET_MODEL_HANDLE(schemaNamespace, modelName) \
    -
    221  Schema_GetModelByName(CodeFirst_RegisterSchema(TOSTRING(schemaNamespace), &ALL_REFLECTED(schemaNamespace)), #modelName)
    -
    222 
    -
    223 /* Codes_SRS_SERIALIZER_01_002: [If the argument serializerIncludePropertyPath is specified, its value shall be passed to CodeFirst_Create.] */
    -
    224 #define CREATE_DEVICE_WITH_INCLUDE_PROPERTY_PATH(schemaNamespace, modelName, serializerIncludePropertyPath) \
    -
    225  (modelName*)CodeFirst_CreateDevice(GET_MODEL_HANDLE(schemaNamespace, modelName), &ALL_REFLECTED(schemaNamespace), sizeof(modelName), serializerIncludePropertyPath)
    -
    226 
    -
    227 /* Codes_SRS_SERIALIZER_01_003: [If the argument serializerIncludePropertyPath is not specified, CREATE_MODEL_INSTANCE shall pass false to CodeFirst_Create.] */
    -
    228 #define CREATE_DEVICE_WITHOUT_INCLUDE_PROPERTY_PATH(schemaNamespace, modelName) \
    -
    229  (modelName*)CodeFirst_CreateDevice(GET_MODEL_HANDLE(schemaNamespace, modelName), &ALL_REFLECTED(schemaNamespace), sizeof(modelName), false)
    -
    230 
    -
    231 /* Codes_SRS_SERIALIZER_99_104:[ CREATE_MODEL_INSTANCE shall call GET_MODEL_HANDLE, passing schemaNamespace and modelName, to get a model handle representing the model defined in the corresponding schema declaration block.] */
    -
    232 /* Codes_SRS_SERIALIZER_99_106:[ CREATE_MODEL_INSTANCE shall call CodeFirst_CreateDevice, passing the model handle (SCHEMA_MODEL_TYPE_HANDLE]*/
    -
    233 /* Codes_SRS_SERIALIZER_99_107:[ If CodeFirst_CreateDevice fails, CREATE_MODEL_INSTANCE shall return NULL.] */
    -
    234 /* Codes_SRS_SERIALIZER_99_108:[ If CodeFirst_CreateDevice succeeds, CREATE_MODEL_INSTANCE shall return a pointer to an instance of the C struct representing the model for the device.] */
    -
    235 #define CREATE_MODEL_INSTANCE(schemaNamespace, ...) \
    -
    236  IF(DIV2(COUNT_ARG(__VA_ARGS__)), CREATE_DEVICE_WITH_INCLUDE_PROPERTY_PATH, CREATE_DEVICE_WITHOUT_INCLUDE_PROPERTY_PATH) (schemaNamespace, __VA_ARGS__)
    -
    237 
    -
    238 /* Codes_SRS_SERIALIZER_99_109:[ DESTROY_MODEL_INSTANCE shall call CodeFirst_DestroyDevice, passing the pointer returned from CREATE_MODEL_INSTANCE, to release all resources associated with the device.] */
    -
    239 #define DESTROY_MODEL_INSTANCE(deviceData) \
    -
    240  CodeFirst_DestroyDevice(deviceData)
    -
    241 
    -
    257 /*Codes_SRS_SERIALIZER_99_113:[ SERIALIZE shall call CodeFirst_SendAsync, passing a destination, destinationSize, the number of properties to publish, and pointers to the values for each property.] */
    -
    258 /*Codes_SRS_SERIALIZER_99_117:[ If CodeFirst_SendAsync succeeds, SEND will return IOT_AGENT_OK.] */
    -
    259 /*Codes_SRS_SERIALIZER_99_114:[ If CodeFirst_SendAsync fails, SEND shall return IOT_AGENT_SERIALIZE_FAILED.] */
    -
    260 #define SERIALIZE(destination, destinationSize,...) ((CodeFirst_SendAsync(destination, destinationSize, COUNT_ARG(__VA_ARGS__) FOR_EACH_1(ADDRESS_MACRO, __VA_ARGS__)) == CODEFIRST_OK) ? IOT_AGENT_OK : IOT_AGENT_SERIALIZE_FAILED)
    -
    261 
    -
    271 /*Codes_SRS_SERIALIZER_02_018: [EXECUTE_COMMAND macro shall call CodeFirst_ExecuteCommand passing device, commandBuffer and commandBufferSize.]*/
    -
    272 #define EXECUTE_COMMAND(device, command) (CodeFirst_ExecuteCommand(device, command))
    -
    273 
    -
    274 /* Helper macros */
    -
    275 
    -
    276 /* These macros remove a useless comma from the beginning of an argument list that looks like:
    -
    277 ,x1,y1,x2,y2 */
    -
    278 #ifdef _MSC_VER
    -
    279 
    -
    280 #define DROP_FIRST_COMMA(N, x) \
    -
    281 x IFCOMMA_NOFIRST(N)
    -
    282 
    -
    283 #define DROP_IF_EMPTY(N, x) \
    -
    284 IF(COUNT_ARG(x),DROP_FIRST_COMMA(N,x),x)
    -
    285 
    -
    286 #define DROP_FIRST_COMMA_FROM_ARGS(...) \
    -
    287 FOR_EACH_1_COUNTED(DROP_IF_EMPTY, C1(__VA_ARGS__))
    -
    288 
    -
    289 #else
    -
    290 
    -
    291 #define DROP_FIRST_COMMA_0(N, x) \
    -
    292  x IFCOMMA_NOFIRST(N)
    -
    293 
    -
    294 #define DROP_FIRST_COMMA_1(N, x) \
    -
    295  x
    -
    296 
    -
    297 #define DROP_FIRST_COMMA(empty, N, x) \
    -
    298  C2(DROP_FIRST_COMMA_,empty)(N,x)
    -
    299 
    -
    300 #define DROP_IF_EMPTY(N, x) \
    -
    301  DROP_FIRST_COMMA(ISEMPTY(x),N,x)
    -
    302 
    -
    303 #define DROP_FIRST_COMMA_FROM_ARGS(...) \
    -
    304  FOR_EACH_1_COUNTED(DROP_IF_EMPTY, __VA_ARGS__)
    -
    305 
    -
    306 #endif
    -
    307 
    -
    308 /* These macros expand a sequence of arguments for DECLARE_MODEL that looks like
    -
    309 WITH_DATA(x, y), WITH_DATA(x2, y2) to a list of arguments consumed by the macro that marshalls a struct, like:
    -
    310 x, y, x2, y2
    -
    311 Actions are discarded, since no marshalling will be done for those when sending state data */
    -
    312 #define TO_AGENT_DT_EXPAND_MODEL_PROPERTY(x, y) ,x,y
    -
    313 #define TO_AGENT_DT_EXPAND_MODEL_ACTION(...)
    -
    314 
    -
    315 #define TO_AGENT_DT_EXPAND_ELEMENT_ARGS(N, ...) TO_AGENT_DT_EXPAND_##__VA_ARGS__
    -
    316 
    -
    317 #define EXPAND_MODEL_ARGS(...) \
    -
    318  FOR_EACH_1_COUNTED(TO_AGENT_DT_EXPAND_ELEMENT_ARGS, __VA_ARGS__)
    -
    319 
    -
    320 #define TO_AGENT_DATA_TYPE(name, ...) \
    -
    321  static AGENT_DATA_TYPES_RESULT ToAGENT_DATA_TYPE_##name(AGENT_DATA_TYPE *destination, const name value) \
    -
    322  { \
    -
    323  AGENT_DATA_TYPES_RESULT result = AGENT_DATA_TYPES_OK; \
    -
    324  size_t iMember = 0; \
    -
    325  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(phantomName, 1); \
    -
    326  const char* memberNames[IF(DIV2(C1(COUNT_ARG(__VA_ARGS__))), DIV2(C1(COUNT_ARG(__VA_ARGS__))), 1)] = { 0 }; \
    -
    327  size_t memberCount = sizeof(memberNames) / sizeof(memberNames[0]); \
    -
    328  (void)value; \
    -
    329  if (memberCount == 0) \
    -
    330  { \
    -
    331  result = AGENT_DATA_TYPES_OK; \
    -
    332  } \
    -
    333  else \
    -
    334  { \
    -
    335  AGENT_DATA_TYPE members[sizeof(memberNames) / sizeof(memberNames[0])]; \
    -
    336  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(phantomName, 2); \
    -
    337  FOR_EACH_2(FIELD_AS_STRING, EXPAND_TWICE(__VA_ARGS__)) \
    -
    338  iMember = 0; \
    -
    339  INSTRUCTION_THAT_CAN_SUSTAIN_A_COMMA_STEAL; \
    -
    340  FOR_EACH_2(CREATE_AGENT_DATA_TYPE, EXPAND_TWICE(__VA_ARGS__)) \
    -
    341  INSTRUCTION_THAT_CAN_SUSTAIN_A_COMMA_STEAL; \
    -
    342  result = ((result == AGENT_DATA_TYPES_OK) && (Create_AGENT_DATA_TYPE_from_Members(destination, #name, sizeof(memberNames) / sizeof(memberNames[0]), memberNames, members) == AGENT_DATA_TYPES_OK)) \
    -
    343  ? AGENT_DATA_TYPES_OK \
    -
    344  : AGENT_DATA_TYPES_ERROR; \
    -
    345  { \
    -
    346  size_t jMember; \
    -
    347  for (jMember = 0; jMember < iMember; jMember++) \
    -
    348  { \
    -
    349  Destroy_AGENT_DATA_TYPE(&members[jMember]); \
    -
    350  } \
    -
    351  } \
    -
    352  } \
    -
    353  return result; \
    -
    354  }
    -
    355 
    -
    356 #define FIELD_AS_STRING(x,y) memberNames[iMember++] = #y;
    -
    357 
    -
    358 #define REFLECTED_LIST_HEAD(name) \
    -
    359  static const REFLECTED_DATA_FROM_DATAPROVIDER ALL_REFLECTED(name) = { &C2(REFLECTED_, C1(DEC(__COUNTER__))) };
    -
    360 #define REFLECTED_STRUCT(name) \
    -
    361  static const REFLECTED_SOMETHING C2(REFLECTED_, C1(INC(__COUNTER__))) = { REFLECTION_STRUCT_TYPE, &C2(REFLECTED_, C1(DEC(DEC(__COUNTER__)))), { {TOSTRING(name)}, {0}, {0}, {0}, {0}} };
    -
    362 #define REFLECTED_FIELD(XstructName, XfieldType, XfieldName) \
    -
    363  static const REFLECTED_SOMETHING C2(REFLECTED_, C1(INC(__COUNTER__))) = { REFLECTION_FIELD_TYPE, &C2(REFLECTED_, C1(DEC(DEC(__COUNTER__)))), { {0}, {TOSTRING(XfieldName), TOSTRING(XfieldType), TOSTRING(XstructName)}, {0}, {0}, {0} } };
    -
    364 #define REFLECTED_MODEL(name) \
    -
    365  static const REFLECTED_SOMETHING C2(REFLECTED_, C1(INC(__COUNTER__))) = { REFLECTION_MODEL_TYPE, &C2(REFLECTED_, C1(DEC(DEC(__COUNTER__)))), { {0}, {0}, {0}, {0}, {TOSTRING(name)} } };
    -
    366 #define REFLECTED_PROPERTY(type, name, modelName) \
    -
    367  static const REFLECTED_SOMETHING C2(REFLECTED_, C1(INC(__COUNTER__))) = { REFLECTION_PROPERTY_TYPE, &C2(REFLECTED_, C1(DEC(DEC(__COUNTER__)))), { {0}, {0}, {TOSTRING(name), TOSTRING(type), Create_AGENT_DATA_TYPE_From_Ptr_##name, offsetof(modelName, name), sizeof(type), TOSTRING(modelName)}, {0}, {0}} };
    -
    368 #define REFLECTED_ACTION(name, argc, argv, fn, modelName) \
    -
    369  static const REFLECTED_SOMETHING C2(REFLECTED_, C1(INC(__COUNTER__))) = { REFLECTION_ACTION_TYPE, &C2(REFLECTED_, C1(DEC(DEC(__COUNTER__)))), { {0}, {0}, {0}, {TOSTRING(name), (0 ? (uintptr_t)("", "") : argc), argv, fn, TOSTRING(modelName)}, {0}} };
    -
    370 #define REFLECTED_END_OF_LIST \
    -
    371  static const REFLECTED_SOMETHING C2(REFLECTED_, __COUNTER__) = { REFLECTION_NOTHING, NULL, { {0}, {0}, {0}, {0}, {0}} };
    -
    372 
    -
    373 #define EXPAND_MODEL_PROPERTY(type, name) EXPAND_ARGS(MODEL_PROPERTY, type, name)
    -
    374 #define EXPAND_MODEL_ACTION(...) EXPAND_ARGS(MODEL_ACTION, __VA_ARGS__)
    -
    375 
    -
    376 #define BUILD_MODEL_STRUCT(elem) INSERT_FIELD_FOR_##elem
    -
    377 
    -
    378 #define CREATE_MODEL_ENTITY(modelName, callType, ...) EXPAND_ARGS(CREATE_##callType(modelName, __VA_ARGS__))
    -
    379 #define CREATE_SOMETHING(modelName, ...) EXPAND_ARGS(CREATE_MODEL_ENTITY(modelName, __VA_ARGS__))
    -
    380 #define CREATE_ELEMENT(modelName, elem) EXPAND_ARGS(CREATE_SOMETHING(modelName, EXPAND_ARGS(EXPAND_##elem)))
    -
    381 
    -
    382 #define CREATE_MODEL_ELEMENT(modelName, elem) EXPAND_ARGS(CREATE_ELEMENT(modelName, elem))
    -
    383 
    -
    384 #define INSERT_FIELD_INTO_STRUCT(x, y) x y;
    -
    385 #define INSERT_FIELD_FOR_MODEL_PROPERTY(type, name) INSERT_FIELD_INTO_STRUCT(type, name)
    -
    386 #define INSERT_FIELD_FOR_MODEL_ACTION(name, ...) /* action isn't a part of the model struct */
    -
    387 
    -
    388 #define CREATE_MODEL_PROPERTY(modelName, type, name) \
    -
    389  IMPL_PROPERTY(type, name, modelName)
    -
    390 
    -
    391 #define IMPL_PROPERTY(propertyType, propertyName, modelName) \
    -
    392  static int Create_AGENT_DATA_TYPE_From_Ptr_##propertyName(void* param, AGENT_DATA_TYPE* dest) \
    -
    393  { \
    -
    394  return C1(ToAGENT_DATA_TYPE_##propertyType)(dest, *(propertyType*)param); \
    -
    395  } \
    -
    396  REFLECTED_PROPERTY(propertyType, propertyName, modelName)
    -
    397 
    -
    398 #define CREATE_MODEL_ACTION(modelName, actionName, ...) \
    -
    399  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(modelName##actionName, 1); \
    -
    400  EXECUTE_COMMAND_RESULT actionName (modelName* device FOR_EACH_2(DEFINE_FUNCTION_PARAMETER, __VA_ARGS__)); \
    -
    401  static EXECUTE_COMMAND_RESULT C2(actionName, WRAPPER)(void* device, size_t ParameterCount, const AGENT_DATA_TYPE* values); \
    -
    402  /*for macro purposes, this array always has at least 1 element*/ \
    -
    403  /*Codes_SRS_SERIALIZER_99_043:[ It is valid for a method not to have any parameters.]*/ \
    -
    404  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(actionName, 1); \
    -
    405  static const WRAPPER_ARGUMENT C2(actionName, WRAPPERARGUMENTS)[DIV2(INC(INC(COUNT_ARG(__VA_ARGS__))))] = { FOR_EACH_2_COUNTED(MAKE_WRAPPER_ARGUMENT, __VA_ARGS__) IFCOMMA(INC(INC(COUNT_ARG(__VA_ARGS__)))) {0} }; \
    -
    406  REFLECTED_ACTION(actionName, DIV2(COUNT_ARG(__VA_ARGS__)), C2(actionName, WRAPPERARGUMENTS), C2(actionName, WRAPPER), modelName) \
    -
    407  /*Codes_SRS_SERIALIZER_99_040:[ In addition to declaring the function, DECLARE_IOT_METHOD shall provide a definition for a wrapper that takes as parameters a size_t parameterCount and const AGENT_DATA_TYPE*.] */ \
    -
    408  /*Codes_SRS_SERIALIZER_99_041:[ This wrapper shall convert all the arguments to predefined types and then call the function written by the data provider developer.]*/ \
    -
    409  static EXECUTE_COMMAND_RESULT C2(actionName, WRAPPER)(void* device, size_t ParameterCount, const AGENT_DATA_TYPE* values) \
    -
    410  { \
    -
    411  EXECUTE_COMMAND_RESULT result; \
    -
    412  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(actionName, 2); \
    -
    413  /*Codes_SRS_SERIALIZER_99_045:[ If the number of passed parameters doesn't match the number of declared parameters, wrapper execution shall fail and return DATA_PROVIDER_INVALID_ARG;]*/ \
    -
    414  if(ParameterCount != DIV2(COUNT_ARG(__VA_ARGS__))) \
    -
    415  { \
    -
    416  result = EXECUTE_COMMAND_ERROR; \
    -
    417  } \
    -
    418  else \
    -
    419  { \
    -
    420  /*the below line takes care of initialized but not referenced parameter warning*/ \
    -
    421  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(actionName, 3); \
    -
    422  IF(DIV2(COUNT_ARG(__VA_ARGS__)), size_t iParameter = 0;, ) \
    -
    423  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(actionName, 4); \
    -
    424  /*the below line takes care of an unused parameter when values is really never questioned*/ \
    -
    425  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(actionName, 5); \
    -
    426  FOR_EACH_2(DEFINE_LOCAL_PARAMETER, __VA_ARGS__) \
    -
    427  DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(actionName, 6); \
    -
    428  IF(DIV2(COUNT_ARG(__VA_ARGS__)), , (void)values;) \
    -
    429  INSTRUCTION_THAT_CAN_SUSTAIN_A_COMMA_STEAL; \
    -
    430  FOR_EACH_2(START_BUILD_LOCAL_PARAMETER, __VA_ARGS__) \
    -
    431  INSTRUCTION_THAT_CAN_SUSTAIN_A_COMMA_STEAL; \
    -
    432  result = actionName((modelName*)device FOR_EACH_2(PUSH_LOCAL_PARAMETER, __VA_ARGS__)); \
    -
    433  FOR_EACH_2(END_BUILD_LOCAL_PARAMETER, __VA_ARGS__) \
    -
    434  } \
    -
    435  return result; \
    -
    436  }
    -
    437 
    -
    438 #define CREATE_AGENT_DATA_TYPE(type, name) \
    -
    439  result = (( result==AGENT_DATA_TYPES_OK) && (ToAGENT_DATA_TYPE_##type( &(members[iMember]), value.name) == AGENT_DATA_TYPES_OK))?AGENT_DATA_TYPES_OK:AGENT_DATA_TYPES_ERROR; \
    -
    440  iMember+= ((result==AGENT_DATA_TYPES_OK)?1:0);
    -
    441 
    -
    442 #define BUILD_DESTINATION_FIELD(type, name) \
    -
    443  if(result == AGENT_DATA_TYPES_OK) \
    -
    444  { \
    -
    445  size_t i; \
    -
    446  bool wasFieldConverted = false; \
    -
    447  for (i = 0; i < source->value.edmComplexType.nMembers; i++) \
    -
    448  { \
    -
    449  /*the name of the field of the complex type must match the name of the field of the structure (parameter name here)*/ \
    -
    450  if (strcmp(source->value.edmComplexType.fields[i].fieldName, TOSTRING(name)) == 0) \
    -
    451  { /*Codes_SRS_SERIALIZER_99_017:[ These types can either be one of the types mentioned in WITH_DATA or it can be a type introduced by a previous DECLARE_STRUCT.]*/ \
    -
    452  wasFieldConverted = (C2(FromAGENT_DATA_TYPE_, type)(source->value.edmComplexType.fields[i].value, &(destination->name)) == AGENT_DATA_TYPES_OK); \
    -
    453  break; \
    -
    454  } \
    -
    455  } \
    -
    456  result = (wasFieldConverted == true)? AGENT_DATA_TYPES_OK: AGENT_DATA_TYPES_INVALID_ARG; \
    -
    457  } \
    -
    458  else \
    -
    459  { \
    -
    460  /*fallthrough*/ \
    -
    461  }
    -
    462 
    -
    463 #define UNBUILD_DESTINATION_FIELD(value, type, name) \
    -
    464  C2(destroyLocalParameter, type)(&(value->name));
    -
    465 
    -
    466 
    -
    467 #define ADDRESS_MACRO(x) ,&x
    -
    468 
    -
    469 #define KEEP_FIRST_(X, ...) X
    -
    470 #ifdef _MSC_VER
    -
    471 #define KEEP_FIRST(X) KEEP_FIRST_ LPAREN X)
    -
    472 #else
    -
    473 #define KEEP_FIRST(X) KEEP_FIRST_(X)
    -
    474 #endif
    -
    475 
    -
    476 #define PROMOTIONMAP_float double, double
    -
    477 #define PROMOTIONMAP_int8_t int, int
    -
    478 #define PROMOTIONMAP_uint8_t int, int
    -
    479 #define PROMOTIONMAP_int16_t int, int
    -
    480 #define PROMOTIONMAP__Bool int, int
    -
    481 #define PROMOTIONMAP_bool int, int
    -
    482 
    -
    483 #define CASTMAP_float (float), (float)
    -
    484 #define CASTMAP_int8_t (int8_t), (int8_t)
    -
    485 #define CASTMAP_uint8_t (uint8_t), (uint8_t)
    -
    486 #define CASTMAP_int16_t (int16_t), (int16_t)
    -
    487 #define CASTMAP__Bool 0!=, 0!=
    -
    488 #define CASTMAP_bool 0!=, 0!=
    -
    489 
    -
    490 #define EMPTY_TOKEN
    -
    491 
    -
    492 #define ANOTHERIF(x) C2(ANOTHERIF,x)
    -
    493 #define ANOTHERIF0(a,b) a
    -
    494 #define ANOTHERIF1(a,b) b
    -
    495 #define ANOTHERIF2(a,b) b
    -
    496 #define ANOTHERIF3(a,b) b
    -
    497 #define ANOTHERIF4(a,b) b
    -
    498 #define ANOTHERIF5(a,b) b
    -
    499 #define ANOTHERIF6(a,b) b
    -
    500 #define ANOTHERIF7(a,b) b
    -
    501 #define ANOTHERIF8(a,b) b
    -
    502 #define ANOTHERIF9(a,b) b
    -
    503 #define ANOTHERIF10(a,b) b
    -
    504 #define ANOTHERIF11(a,b) b
    -
    505 #define ANOTHERIF12(a,b) b
    -
    506 
    -
    507 #define MAP_PROMOTED_TYPE(X) ANOTHERIF(DEC(COUNT_ARG(PROMOTIONMAP_##X))) (X, KEEP_FIRST(PROMOTIONMAP_##X))
    -
    508 #define MAP_CAST_TYPE(X) ANOTHERIF(DEC(COUNT_ARG(CASTMAP_##X))) (EMPTY_TOKEN, KEEP_FIRST(CASTMAP_##X) )
    -
    509 
    -
    510 #define IFCOMMA(N) C2(IFCOMMA_, N)
    -
    511 #define IFCOMMA_0
    -
    512 #define IFCOMMA_2
    -
    513 #define IFCOMMA_4 ,
    -
    514 #define IFCOMMA_6 ,
    -
    515 #define IFCOMMA_8 ,
    -
    516 #define IFCOMMA_10 ,
    -
    517 #define IFCOMMA_12 ,
    -
    518 #define IFCOMMA_14 ,
    -
    519 #define IFCOMMA_16 ,
    -
    520 #define IFCOMMA_18 ,
    -
    521 #define IFCOMMA_20 ,
    -
    522 #define IFCOMMA_22 ,
    -
    523 #define IFCOMMA_24 ,
    -
    524 #define IFCOMMA_26 ,
    -
    525 #define IFCOMMA_28 ,
    -
    526 #define IFCOMMA_30 ,
    -
    527 #define IFCOMMA_32 ,
    -
    528 #define IFCOMMA_34 ,
    -
    529 #define IFCOMMA_36 ,
    -
    530 #define IFCOMMA_38 ,
    -
    531 #define IFCOMMA_40 ,
    -
    532 #define IFCOMMA_42 ,
    -
    533 #define IFCOMMA_44 ,
    -
    534 #define IFCOMMA_46 ,
    -
    535 #define IFCOMMA_48 ,
    -
    536 #define IFCOMMA_50 ,
    -
    537 #define IFCOMMA_52 ,
    -
    538 #define IFCOMMA_54 ,
    -
    539 #define IFCOMMA_56 ,
    -
    540 #define IFCOMMA_58 ,
    -
    541 #define IFCOMMA_60 ,
    -
    542 #define IFCOMMA_62 ,
    -
    543 #define IFCOMMA_64 ,
    -
    544 #define IFCOMMA_66 ,
    -
    545 #define IFCOMMA_68 ,
    -
    546 #define IFCOMMA_70 ,
    -
    547 #define IFCOMMA_72 ,
    -
    548 #define IFCOMMA_74 ,
    -
    549 #define IFCOMMA_76 ,
    -
    550 #define IFCOMMA_78 ,
    -
    551 #define IFCOMMA_80 ,
    -
    552 #define IFCOMMA_82 ,
    -
    553 #define IFCOMMA_84 ,
    -
    554 #define IFCOMMA_86 ,
    -
    555 #define IFCOMMA_88 ,
    -
    556 #define IFCOMMA_90 ,
    -
    557 #define IFCOMMA_92 ,
    -
    558 #define IFCOMMA_94 ,
    -
    559 #define IFCOMMA_96 ,
    -
    560 #define IFCOMMA_98 ,
    -
    561 #define IFCOMMA_100 ,
    -
    562 #define IFCOMMA_102 ,
    -
    563 #define IFCOMMA_104 ,
    -
    564 #define IFCOMMA_106 ,
    -
    565 #define IFCOMMA_108 ,
    -
    566 #define IFCOMMA_110 ,
    -
    567 #define IFCOMMA_112 ,
    -
    568 #define IFCOMMA_114 ,
    -
    569 #define IFCOMMA_116 ,
    -
    570 #define IFCOMMA_118 ,
    -
    571 #define IFCOMMA_120 ,
    -
    572 #define IFCOMMA_122 ,
    -
    573 #define IFCOMMA_124 ,
    -
    574 #define IFCOMMA_126 ,
    -
    575 #define IFCOMMA_128 ,
    -
    576 
    -
    577 #define DEFINE_LOCAL_PARAMETER(type, name) type C2(name,_local);
    -
    578 
    -
    579 #define START_BUILD_LOCAL_PARAMETER(type, name) \
    -
    580  if (C2(FromAGENT_DATA_TYPE_, type)(&values[iParameter], &C2(name, _local)) != AGENT_DATA_TYPES_OK) \
    -
    581  { \
    -
    582  /*Codes_SRS_SERIALIZER_99_046:[ If the types of the parameters do not match the declared types, DATAPROVIDER_INVALID_ARG shall be returned.]*/ \
    -
    583  result = EXECUTE_COMMAND_ERROR; \
    -
    584  }\
    -
    585  else \
    -
    586  { \
    -
    587  iParameter++;
    -
    588 
    -
    589 #define END_BUILD_LOCAL_PARAMETER(type, name) \
    -
    590  (void)C2(destroyLocalParameter, type)(&C2(name, _local)); \
    -
    591  }
    -
    592 
    -
    593 /*The following constructs have been devised to work around the precompiler bug of Visual Studio 2005, version 14.00.50727.42*/
    -
    594 /* The bug is explained in https://connect.microsoft.com/VisualStudio/feedback/details/278752/comma-missing-when-using-va-args */
    -
    595 /*A short description is: preprocessor is myteriously eating commas ','.
    -
    596 In order to feed the appetite of the preprocessor, several constructs have
    -
    597 been devised that can sustain a missing ',' while still compiling and while still doing nothing
    -
    598 and while hopefully being eliminated from the code based on "doesn't do anything" so no code size penalty
    -
    599 */
    -
    600 
    -
    601 /*the reason why all these constructs work is:
    -
    602 if two strings separated by a comma will lose the comma (myteriously) then they will become just one string:
    -
    603 "a", "b" ------Preprocessor------> "a" "b" -----Compiler----> "ab"
    -
    604 */
    -
    605 
    -
    606 #define LOTS_OF_COMMA_TO_BE_EATEN /*there were witnesses where as many as THREE commas have been eaten!*/ \
    -
    607 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    -
    608 #define DEFINITION_THAT_CAN_SUSTAIN_A_COMMA_STEAL(name, instance) static const char* eatThese_COMMA_##name##instance[] = {LOTS_OF_COMMA_TO_BE_EATEN}
    -
    609 #define INSTRUCTION_THAT_CAN_SUSTAIN_A_COMMA_STEAL 0?LOTS_OF_COMMA_TO_BE_EATEN:LOTS_OF_COMMA_TO_BE_EATEN
    -
    610 
    -
    611 #define PUSH_LOCAL_PARAMETER(type, name) , C2(name, _local)
    -
    612 #define DEFINE_FUNCTION_PARAMETER(type, name) , type name
    -
    613 #define MAKE_WRAPPER_ARGUMENT(N, type, name) {TOSTRING(type), TOSTRING(name)} IFCOMMA(N)
    -
    614 
    -
    615 /*Codes_SRS_SERIALIZER_99_019:[ Create_AGENT_DATA_TYPE_from_DOUBLE]*/
    -
    616 /*Codes_SRS_SERIALIZER_99_004:[ The propertyType can be any of the following data types: double]*/
    -
    617 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, double)(AGENT_DATA_TYPE* dest, double source)
    -
    618 {
    -
    619  return Create_AGENT_DATA_TYPE_from_DOUBLE(dest, source);
    -
    620 }
    -
    621 
    -
    622 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, double)(const AGENT_DATA_TYPE* agentData, double* dest)
    -
    623 {
    -
    624  AGENT_DATA_TYPES_RESULT result;
    -
    625  if (agentData->type != EDM_DOUBLE_TYPE)
    -
    626  {
    -
    627  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    628  }
    -
    629  else
    -
    630  {
    -
    631  *dest = agentData->value.edmDouble.value;
    -
    632  result = AGENT_DATA_TYPES_OK;
    -
    633  }
    -
    634  return result;
    -
    635 }
    -
    636 
    -
    637 /*Codes_SRS_SERIALIZER_99_021:[ Create_AGENT_DATA_TYPE_from_FLOAT]*/
    -
    638 /*Codes_SRS_SERIALIZER_99_006:[ float]*/
    -
    639 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, float)(AGENT_DATA_TYPE* dest, float source)
    -
    640 {
    -
    641  return Create_AGENT_DATA_TYPE_from_FLOAT(dest, source);
    -
    642 }
    -
    643 
    -
    644 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, float)(const AGENT_DATA_TYPE* agentData, float* dest)
    -
    645 {
    -
    646  AGENT_DATA_TYPES_RESULT result;
    -
    647  if (agentData->type != EDM_SINGLE_TYPE)
    -
    648  {
    -
    649  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    650  }
    -
    651  else
    -
    652  {
    -
    653  *dest = agentData->value.edmSingle.value;
    -
    654  result = AGENT_DATA_TYPES_OK;
    -
    655  }
    -
    656  return result;
    -
    657 }
    -
    658 
    -
    659 
    -
    660 /*Codes_SRS_SERIALIZER_99_020:[ Create_AGENT_DATA_TYPE_from_SINT32]*/
    -
    661 /*Codes_SRS_SERIALIZER_99_005:[ int], */
    -
    662 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, int)(AGENT_DATA_TYPE* dest, int source)
    -
    663 {
    -
    664  return Create_AGENT_DATA_TYPE_from_SINT32(dest, source);
    -
    665 }
    -
    666 
    -
    667 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, int)(const AGENT_DATA_TYPE* agentData, int* dest)
    -
    668 {
    -
    669  AGENT_DATA_TYPES_RESULT result;
    -
    670  if (agentData->type != EDM_INT32_TYPE)
    -
    671  {
    -
    672  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    673  }
    -
    674  else
    -
    675  {
    -
    676  *dest = agentData->value.edmInt32.value;
    -
    677  result = AGENT_DATA_TYPES_OK;
    -
    678  }
    -
    679  return result;
    -
    680 }
    -
    681 
    -
    682 /*Codes_SRS_SERIALIZER_99_022:[ Create_AGENT_DATA_TYPE_from_SINT64]*/
    -
    683 /*Codes_SRS_SERIALIZER_99_007:[ long]*/
    -
    684 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, long)(AGENT_DATA_TYPE* dest, long source)
    -
    685 {
    -
    686  return Create_AGENT_DATA_TYPE_from_SINT64(dest, source);
    -
    687 }
    -
    688 
    -
    689 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, long)(const AGENT_DATA_TYPE* agentData, long* dest)
    -
    690 {
    -
    691  AGENT_DATA_TYPES_RESULT result;
    -
    692  if (agentData->type != EDM_INT64_TYPE)
    -
    693  {
    -
    694  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    695  }
    -
    696  else
    -
    697  {
    -
    698  *dest = (long)agentData->value.edmInt64.value;
    -
    699  result = AGENT_DATA_TYPES_OK;
    -
    700  }
    -
    701  return result;
    -
    702 }
    -
    703 
    -
    704 /*Codes_SRS_SERIALIZER_99_023:[ Create_AGENT_DATA_TYPE_from_SINT8]*/
    -
    705 /*Codes_SRS_SERIALIZER_99_008:[ int8_t]*/
    -
    706 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, int8_t)(AGENT_DATA_TYPE* dest, int8_t source)
    -
    707 {
    -
    708  return Create_AGENT_DATA_TYPE_from_SINT8(dest, source);
    -
    709 }
    -
    710 
    -
    711 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, int8_t)(const AGENT_DATA_TYPE* agentData, int8_t* dest)
    -
    712 {
    -
    713  AGENT_DATA_TYPES_RESULT result;
    -
    714  if (agentData->type != EDM_SBYTE_TYPE)
    -
    715  {
    -
    716  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    717  }
    -
    718  else
    -
    719  {
    -
    720  *dest = agentData->value.edmSbyte.value;
    -
    721  result = AGENT_DATA_TYPES_OK;
    -
    722  }
    -
    723  return result;
    -
    724 }
    -
    725 
    -
    726 /*Codes_SRS_SERIALIZER_99_024:[ Create_AGENT_DATA_TYPE_from_UINT8]*/
    -
    727 /*Codes_SRS_SERIALIZER_99_009:[ uint8_t]*/
    -
    728 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, uint8_t)(AGENT_DATA_TYPE* dest, uint8_t source)
    -
    729 {
    -
    730  return Create_AGENT_DATA_TYPE_from_UINT8(dest, source);
    -
    731 }
    -
    732 
    -
    733 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, uint8_t)(const AGENT_DATA_TYPE* agentData, uint8_t* dest)
    -
    734 {
    -
    735  AGENT_DATA_TYPES_RESULT result;
    -
    736  if (agentData->type != EDM_BYTE_TYPE)
    -
    737  {
    -
    738  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    739  }
    -
    740  else
    -
    741  {
    -
    742  *dest = agentData->value.edmByte.value;
    -
    743  result = AGENT_DATA_TYPES_OK;
    -
    744  }
    -
    745  return result;
    -
    746 }
    -
    747 
    -
    748 /*Codes_SRS_SERIALIZER_99_025:[ Create_AGENT_DATA_TYPE_from_SINT16]*/
    -
    749 /*Codes_SRS_SERIALIZER_99_010:[ int16_t]*/
    -
    750 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, int16_t)(AGENT_DATA_TYPE* dest, int16_t source)
    -
    751 {
    -
    752  return Create_AGENT_DATA_TYPE_from_SINT16(dest, source);
    -
    753 }
    -
    754 
    -
    755 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, int16_t)(const AGENT_DATA_TYPE* agentData, int16_t* dest)
    -
    756 {
    -
    757  AGENT_DATA_TYPES_RESULT result;
    -
    758  if (agentData->type != EDM_INT16_TYPE)
    -
    759  {
    -
    760  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    761  }
    -
    762  else
    -
    763  {
    -
    764  *dest = agentData->value.edmInt16.value;
    -
    765  result = AGENT_DATA_TYPES_OK;
    -
    766  }
    -
    767  return result;
    -
    768 }
    -
    769 
    -
    770 /*Codes_SRS_SERIALIZER_99_026:[ Create_AGENT_DATA_TYPE_from_SINT32]*/
    -
    771 /*Codes_SRS_SERIALIZER_99_011:[ int32_t]*/
    -
    772 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, int32_t)(AGENT_DATA_TYPE* dest, int32_t source)
    -
    773 {
    -
    774  return Create_AGENT_DATA_TYPE_from_SINT32(dest, source);
    -
    775 }
    -
    776 
    -
    777 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, int32_t)(const AGENT_DATA_TYPE* agentData, int32_t* dest)
    -
    778 {
    -
    779  AGENT_DATA_TYPES_RESULT result;
    -
    780  if (agentData->type != EDM_INT32_TYPE)
    -
    781  {
    -
    782  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    783  }
    -
    784  else
    -
    785  {
    -
    786  *dest = agentData->value.edmInt32.value;
    -
    787  result = AGENT_DATA_TYPES_OK;
    -
    788  }
    -
    789  return result;
    -
    790 }
    -
    791 
    -
    792 /*Codes_SRS_SERIALIZER_99_027:[ Create_AGENT_DATA_TYPE_from_SINT64]*/
    -
    793 /*Codes_SRS_SERIALIZER_99_012:[ int64_t]*/
    -
    794 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, int64_t)(AGENT_DATA_TYPE* dest, int64_t source)
    -
    795 {
    -
    796  return Create_AGENT_DATA_TYPE_from_SINT64(dest, source);
    -
    797 }
    -
    798 
    -
    799 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, int64_t)(const AGENT_DATA_TYPE* agentData, int64_t* dest)
    -
    800 {
    -
    801  AGENT_DATA_TYPES_RESULT result;
    -
    802  if (agentData->type != EDM_INT64_TYPE)
    -
    803  {
    -
    804  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    805  }
    -
    806  else
    -
    807  {
    -
    808  *dest = agentData->value.edmInt64.value;
    -
    809  result = AGENT_DATA_TYPES_OK;
    -
    810  }
    -
    811  return result;
    -
    812 }
    -
    813 
    -
    814 /*Codes_SRS_SERIALIZER_99_013:[ bool]*/
    -
    815 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, bool)(AGENT_DATA_TYPE* dest, bool source)
    -
    816 {
    -
    817  return Create_EDM_BOOLEAN_from_int(dest, source == true);
    -
    818 }
    -
    819 
    -
    820 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, bool)(const AGENT_DATA_TYPE* agentData, bool* dest)
    -
    821 {
    -
    822  AGENT_DATA_TYPES_RESULT result;
    -
    823  if (agentData->type != EDM_BOOLEAN_TYPE)
    -
    824  {
    -
    825  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    826  }
    -
    827  else
    -
    828  {
    -
    829  *dest = (agentData->value.edmBoolean.value == EDM_TRUE) ? true : false;
    -
    830  result = AGENT_DATA_TYPES_OK;
    -
    831  }
    -
    832  return result;
    -
    833 }
    -
    834 
    -
    835 /*Codes_SRS_SERIALIZER_99_014:[ ascii_char_ptr]*/
    -
    836 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, ascii_char_ptr)(AGENT_DATA_TYPE* dest, ascii_char_ptr source)
    -
    837 {
    -
    838  return Create_AGENT_DATA_TYPE_from_charz(dest, source);
    -
    839 }
    -
    840 
    -
    841 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, ascii_char_ptr)(const AGENT_DATA_TYPE* agentData, ascii_char_ptr* dest)
    -
    842 {
    -
    843  AGENT_DATA_TYPES_RESULT result;
    -
    844  if (agentData->type != EDM_STRING_TYPE)
    -
    845  {
    -
    846  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    847  }
    -
    848  else
    -
    849  {
    -
    850  *dest = agentData->value.edmString.chars;
    -
    851  result = AGENT_DATA_TYPES_OK;
    -
    852  }
    -
    853  return result;
    -
    854 }
    -
    855 
    -
    856 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, ascii_char_ptr_no_quotes)(AGENT_DATA_TYPE* dest, ascii_char_ptr_no_quotes source)
    -
    857 {
    -
    858  return Create_AGENT_DATA_TYPE_from_charz_no_quotes(dest, source);
    -
    859 }
    -
    860 
    -
    861 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, ascii_char_ptr_no_quotes)(const AGENT_DATA_TYPE* agentData, ascii_char_ptr_no_quotes* dest)
    -
    862 {
    -
    863  AGENT_DATA_TYPES_RESULT result;
    -
    864  if (agentData->type != EDM_STRING_NO_QUOTES_TYPE)
    -
    865  {
    -
    866  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    867  }
    -
    868  else
    -
    869  {
    -
    870  *dest = agentData->value.edmStringNoQuotes.chars;
    -
    871  result = AGENT_DATA_TYPES_OK;
    -
    872  }
    -
    873  return result;
    -
    874 }
    -
    875 
    -
    876 /*Codes_SRS_SERIALIZER_99_051:[ EDM_DATE_TIME_OFFSET*/
    -
    877 /*Codes_SRS_SERIALIZER_99_053:[Create_AGENT_DATA_TYPE_from_EDM_DATE_TIME_OFFSET]*/
    -
    878 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, EDM_DATE_TIME_OFFSET)(AGENT_DATA_TYPE* dest, EDM_DATE_TIME_OFFSET source)
    -
    879 {
    -
    880  return Create_AGENT_DATA_TYPE_from_EDM_DATE_TIME_OFFSET(dest, source);
    -
    881 }
    -
    882 
    -
    883 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, EDM_DATE_TIME_OFFSET)(const AGENT_DATA_TYPE* agentData, EDM_DATE_TIME_OFFSET* dest)
    -
    884 {
    -
    885  AGENT_DATA_TYPES_RESULT result;
    -
    886  if (agentData->type != EDM_DATE_TIME_OFFSET_TYPE)
    -
    887  {
    -
    888  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    889  }
    -
    890  else
    -
    891  {
    -
    892  *dest = agentData->value.edmDateTimeOffset;
    -
    893  result = AGENT_DATA_TYPES_OK;
    -
    894  }
    -
    895  return result;
    -
    896 }
    -
    897 
    -
    898 /*Codes_SRS_SERIALIZER_99_072:[ EDM_GUID]*/
    -
    899 /*Codes_SRS_SERIALIZER_99_073:[ Create_AGENT_DATA_TYPE_from_EDM_GUID]*/
    -
    900 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, EDM_GUID)(AGENT_DATA_TYPE* dest, EDM_GUID guid)
    -
    901 {
    -
    902  return Create_AGENT_DATA_TYPE_from_EDM_GUID(dest, guid);
    -
    903 }
    -
    904 
    -
    905 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, EDM_GUID)(const AGENT_DATA_TYPE* agentData, EDM_GUID* dest)
    -
    906 {
    -
    907  AGENT_DATA_TYPES_RESULT result;
    -
    908  if (agentData->type != EDM_GUID_TYPE)
    -
    909  {
    -
    910  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    911  }
    -
    912  else
    -
    913  {
    -
    914  memcpy(dest->GUID, agentData->value.edmGuid.GUID, 16);
    -
    915  result = AGENT_DATA_TYPES_OK;
    -
    916  }
    -
    917  return result;
    -
    918 }
    -
    919 
    -
    920 /*Codes_SRS_SERIALIZER_99_074:[ EDM_BINARY]*/
    -
    921 /*Codes_SRS_SERIALIZER_99_075:[ Create_AGENT_DATA_TYPE_from_EDM_BINARY]*/
    -
    922 static AGENT_DATA_TYPES_RESULT C2(ToAGENT_DATA_TYPE_, EDM_BINARY)(AGENT_DATA_TYPE* dest, EDM_BINARY edmBinary)
    -
    923 {
    -
    924  return Create_AGENT_DATA_TYPE_from_EDM_BINARY(dest, edmBinary);
    -
    925 }
    -
    926 
    -
    927 static AGENT_DATA_TYPES_RESULT C2(FromAGENT_DATA_TYPE_, EDM_BINARY)(const AGENT_DATA_TYPE* agentData, EDM_BINARY* dest)
    -
    928 {
    -
    929  AGENT_DATA_TYPES_RESULT result;
    -
    930  if (agentData->type != EDM_BINARY_TYPE)
    -
    931  {
    -
    932  result = AGENT_DATA_TYPES_INVALID_ARG;
    -
    933  }
    -
    934  else
    -
    935  {
    -
    936  if ((dest->data = (unsigned char *)malloc(agentData->value.edmBinary.size)) == NULL) /*cast because this get included in a C++ file.*/
    -
    937  {
    -
    938  result = AGENT_DATA_TYPES_ERROR;
    -
    939  }
    -
    940  else
    -
    941  {
    -
    942  memcpy(dest->data, agentData->value.edmBinary.data, agentData->value.edmBinary.size);
    -
    943  dest->size = agentData->value.edmBinary.size;
    -
    944  result = AGENT_DATA_TYPES_OK;
    -
    945  }
    -
    946  }
    -
    947  return result;
    -
    948 }
    -
    949 
    -
    950 static void C2(destroyLocalParameter, EDM_BINARY)(EDM_BINARY* value)
    -
    951 {
    -
    952  if (value != NULL)
    -
    953  {
    -
    954  free(value->data);
    -
    955  value->data = NULL;
    -
    956  value->size = 0;
    -
    957  }
    -
    958 }
    -
    959 
    -
    960 static void C2(destroyLocalParameter, EDM_BOOLEAN)(EDM_BOOLEAN* value)
    -
    961 {
    -
    962  (void)value;
    -
    963 }
    -
    964 
    -
    965 static void C2(destroyLocalParameter, EDM_BYTE)(EDM_BYTE* value)
    -
    966 {
    -
    967  (void)value;
    -
    968 }
    -
    969 
    -
    970 static void C2(destroyLocalParameter, EDM_DATE)(EDM_DATE* value)
    -
    971 {
    -
    972  (void)value;
    -
    973 }
    -
    974 
    -
    975 static void C2(destroyLocalParameter, EDM_DATE_TIME_OFFSET)(EDM_DATE_TIME_OFFSET* value)
    -
    976 {
    -
    977  (void)value;
    -
    978 }
    -
    979 
    -
    980 static void C2(destroyLocalParameter, EDM_DECIMAL)(EDM_DECIMAL* value)
    -
    981 {
    -
    982  if (value != NULL)
    -
    983  {
    -
    984  STRING_delete(value->value);
    -
    985  value->value = NULL;
    -
    986  }
    -
    987 }
    -
    988 
    -
    989 static void C2(destroyLocalParameter, EDM_DOUBLE)(EDM_DOUBLE* value)
    -
    990 {
    -
    991  (void)value;
    -
    992 }
    -
    993 
    -
    994 static void C2(destroyLocalParameter, EDM_DURATION)(EDM_DURATION* value)
    -
    995 {
    -
    996  if (value != NULL)
    -
    997  {
    -
    998  free(value->digits);
    -
    999  value->digits = NULL;
    -
    1000  value->nDigits = 0;
    -
    1001  }
    -
    1002 }
    -
    1003 
    -
    1004 static void C2(destroyLocalParameter, EDM_GUID)(EDM_GUID* value)
    -
    1005 {
    -
    1006  (void)value;
    -
    1007 }
    -
    1008 
    -
    1009 static void C2(destroyLocalParameter, EDM_INT16)(EDM_INT16* value)
    -
    1010 {
    -
    1011  (void)value;
    -
    1012 }
    -
    1013 
    -
    1014 static void C2(destroyLocalParameter, EDM_INT32)(EDM_INT32* value)
    -
    1015 {
    -
    1016  (void)value;
    -
    1017 }
    -
    1018 
    -
    1019 static void C2(destroyLocalParameter, EDM_INT64)(EDM_INT64* value)
    -
    1020 {
    -
    1021  (void)value;
    -
    1022 }
    -
    1023 
    -
    1024 static void C2(destroyLocalParameter, EDM_SBYTE)(EDM_SBYTE* value)
    -
    1025 {
    -
    1026  (void)value;
    -
    1027 }
    -
    1028 
    -
    1029 static void C2(destroyLocalParameter, EDM_SINGLE)(EDM_SINGLE* value)
    -
    1030 {
    -
    1031  (void)value;
    -
    1032 }
    -
    1033 
    -
    1034 static void C2(destroyLocalParameter, EDM_STRING)(EDM_STRING* value)
    -
    1035 {
    -
    1036  (void)value;
    -
    1037 }
    -
    1038 
    -
    1039 
    -
    1040 static void C2(destroyLocalParameter, EDM_TIME_OF_DAY)(EDM_TIME_OF_DAY* value)
    -
    1041 {
    -
    1042  (void)value;
    -
    1043 }
    -
    1044 
    -
    1045 static void C2(destroyLocalParameter, int)(int* value)
    -
    1046 {
    -
    1047  (void)value;
    -
    1048 }
    -
    1049 
    -
    1050 static void C2(destroyLocalParameter, float)(float* value)
    -
    1051 {
    -
    1052  (void)value;
    -
    1053 }
    -
    1054 
    -
    1055 static void C2(destroyLocalParameter, double)(double* value)
    -
    1056 {
    -
    1057  (void)value;
    -
    1058 }
    -
    1059 
    -
    1060 static void C2(destroyLocalParameter, long)(long* value)
    -
    1061 {
    -
    1062  (void)value;
    -
    1063 }
    -
    1064 
    -
    1065 static void C2(destroyLocalParameter, int8_t)(int8_t* value)
    -
    1066 {
    -
    1067  (void)value;
    -
    1068 }
    -
    1069 
    -
    1070 static void C2(destroyLocalParameter, uint8_t)(uint8_t* value)
    -
    1071 {
    -
    1072  (void)value;
    -
    1073 }
    -
    1074 
    -
    1075 static void C2(destroyLocalParameter, int16_t)(int16_t* value)
    -
    1076 {
    -
    1077  (void)value;
    -
    1078 }
    -
    1079 
    -
    1080 static void C2(destroyLocalParameter, int32_t)(int32_t* value)
    -
    1081 {
    -
    1082  (void)value;
    -
    1083 }
    -
    1084 
    -
    1085 static void C2(destroyLocalParameter, int64_t)(int64_t* value)
    -
    1086 {
    -
    1087  (void)value;
    -
    1088 }
    -
    1089 
    -
    1090 static void C2(destroyLocalParameter, bool)(bool* value)
    -
    1091 {
    -
    1092  (void)value;
    -
    1093 }
    -
    1094 
    -
    1095 static void C2(destroyLocalParameter, ascii_char_ptr)(ascii_char_ptr* value)
    -
    1096 {
    -
    1097  (void)value;
    -
    1098 }
    -
    1099 
    -
    1100 static void C2(destroyLocalParameter, ascii_char_ptr_no_quotes)(ascii_char_ptr_no_quotes* value)
    -
    1101 {
    -
    1102  (void)value;
    -
    1103 }
    -
    1104 
    -
    1105 #ifdef __cplusplus
    -
    1106  }
    -
    1107 #endif
    -
    1108 
    -
    1109 #endif /*SERIALIZER_H*/
    -
    1110 
    -
    1111 
    -
    The IoT Hub Serializer APIs allows developers to define models for their devices. ...
    -
    - - - - diff --git a/c/doc/api_reference/splitbar.png b/c/doc/api_reference/splitbar.png deleted file mode 100644 index 343046b612b0bef5191e66080ff3bff2338a121e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@Vh3v=57WL!Tw zYfCnYCNSG5Pk3-a=ZFUXdA1Eq$_q4ov(~NreaG|M?nl#~|KqNi9(1iVc3SGZ=b5vP z75-s5q3-FRLMp1A(D%6F`@Z+~t5&Ugy=zs@kf3$>Phsonp+`m)LO(%OI5^=;38 qepfl~ectV77gZD{k%9g#loz>Y`|5vS(>$PO89ZJ6T-G@yGywqTerZbp diff --git a/c/doc/api_reference/struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html b/c/doc/api_reference/struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html deleted file mode 100644 index 990027d3..00000000 --- a/c/doc/api_reference/struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: IOTHUB_CLIENT_CONFIG_TAG Struct Reference - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    IOTHUB_CLIENT_CONFIG_TAG Struct Reference
    -
    -
    - -

    This struct captures IoTHub client configuration. - More...

    - -

    #include <iothub_client_ll.h>

    - - - - - - - - - - - - - - - - - -

    -Data Fields

    -IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol
     A function pointer that is passed into the IoTHubClientCreate. A function definition for AMQP, DeviceClientProvideAmqpResources, is defined in the include iothubtransportamqp.h. A function definition for HTTP, DeviceClientProvideHttpResources, is defined in the include iothubtransporthttp.h.
     
    -const char * deviceId
     A string that identifies the device.
     
    -const char * deviceKey
     The device key used to authenticate the device.
     
    -const char * iotHubName
     The IoT Hub name to which the device is connecting.
     
    -const char * iotHubSuffix
     IoT Hub suffix goes here, e.g., private.azure-devices-int.net.
     
    -

    Detailed Description

    -

    This struct captures IoTHub client configuration.

    -

    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/c/doc/api_reference/sync_off.png b/c/doc/api_reference/sync_off.png deleted file mode 100644 index b85662482b4bed01e9507971963f9c6b71b36e54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 815 zcmV+~1JL}5P)k&sW_1@dU27*sGi1(Rd+`(5Tb_g-g2#qH&Mm~-zP&hMUce&?L6YjkuJ zAf1z=7cuoZoFCh`8e_(wbx{{yy?DnOTb zB2EG9!4Yv&To8A}3+u}az*??|SNmw(db!1OaW`Fnka)JsumSAFBXP|cK%+lBgvQP5 zZxOHt_*3`+oC*pG08+}%&IU;3sCXb;8sLPu3fPLv4_0rSRLrzW( zfKym|p#i$ZG3Qqg3=9wm1Tr=^Hvv+L#bQ)dRWUR)L~(I3fYXQuXth2mEiEM+4pUZE z2Cyd{kH-j7US1B^O1B1RFz<9Y1_uWzDk|FkM`dLtEiEmywY3?{tF^V2`uciXulxG? zXlU4O&PW~&;L%!pdpjK+9XlpYdsJ6fM@>zQ@ulWfTU%=cx8;0B2F=aQ^!N9FGbdXE zxU^PSSO~DIv9U4Z*V+>Rr~LfUCMG7>*w_GY3TgnY=q9(lL0Pjx(l0J^kg^*( z2U}ZP#N%-Qr?+}onE`ZF{U?$O0N~($CKm8}bF=#-ZUG#U``WnkM0=@;k=V}x4oZjQ zuXHEcV{t=70QN~2*FACD`Y^M%w->M#O?o{xb$ir9!}$>aPOrsvp=%0AmUKzJBrc1y t;-csh#}fyM28@a?;$5OqW4r;Jegpgiqt?P@;@1EG002ovPDHLkV1oT3Z1w;E diff --git a/c/doc/api_reference/sync_on.png b/c/doc/api_reference/sync_on.png deleted file mode 100644 index e5044af075745db2ffb725f2611bcfacac939c95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 809 zcmV+^1J?YBP)M{tTizw(O2%@g+qN@ms zX#at|NTh|G!HX5vbZ%lnA{N0Qf>FDebNhxFUWL*Tr+|hhD%MzllE%(7E;Ti)Z3Sz625RbdPBR*pCO|qBDVJfARx5 zH=jo$Y)x=mgaF)>mX-q86ciKy&hq|O%N~_t-rsYfq{W<7Enjj+S*EUbF-nPrNu~Ut9P%L?(S~J#>OZqDfwhB zwkGhHUnnap1Nbh|x%QRbEfhKI-pb#TWWmDc>iZN@ZaWP_g-8D_(ASy=gu4Lg%(HlJO?-|os#?cZnTHu zvPc0OkZ!J<;+nPb$jHbDU<)mHy*BlT)JwzpBLJLUiAzHF6p)L2H&{}f7pKLqVo+3N nFA`0tCG}DKmF?7+ZvdyS;`pQy6Lk2K00000NkvXXu0mjfgGGNF diff --git a/c/doc/api_reference/tab_a.png b/c/doc/api_reference/tab_a.png deleted file mode 100644 index 170a784114dae128e94ed1f2f074bca70d1c92d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QqG<(jv*C{Z|5H5WN_qQPQEt% z!D%O!-}-rhW&MwLh%p^*>9AEWe)+D4W0qv-R3)Pl2A;Y1{Nh8u=3I}j`*-a9@2@YV YKQCkQ6e(m{2Q-es)78&qol`;+0GNgh%teF!%WXO?%BLs!-BjV zy*Mq?k4OkQHGH3E@jPK|tKqZ7Tib%Tg1o9)1?12Dl)v;vc{1yyl@oy0F?hQAxvX - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/threadapi.h File Reference - - - - - - - - - - - -
    - -
    -
    threadapi.h File Reference
    -
    -
    - -

    This module implements support for creating new threads, terminating threads and sleeping threads. -More...

    -
    #include "macro_utils.h"
    -
    -

    Go to the source code of this file.

    - - - - - -

    -Typedefs

    -typedef enum THREADAPI_RESULT_TAG THREADAPI_RESULT
     Enumeration specifying the possible return values for the APIs in this module.
     
    - - - - -

    -Enumerations

    enum  THREADAPI_RESULT_TAG
     Enumeration specifying the possible return values for the APIs in this module.
     
    - - - - - - - - - - - - - -

    -Functions

    THREADAPI_RESULT ThreadAPI_Create (THREAD_HANDLE *threadHandle, THREAD_START_FUNC func, void *arg)
     Creates a thread with the entry point specified by the func argument. More...
     
    THREADAPI_RESULT ThreadAPI_Join (THREAD_HANDLE threadHandle, int *res)
     Blocks the calling thread by waiting on the thread identified by the threadHandle argument to complete. More...
     
    void ThreadAPI_Exit (int res)
     This function is called by a thread when the thread exits. More...
     
    void ThreadAPI_Sleep (unsigned int milliseconds)
     Sleeps the current thread for the given number of milliseconds. More...
     
    -

    Detailed Description

    -

    This module implements support for creating new threads, terminating threads and sleeping threads.

    -

    Function Documentation

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    THREADAPI_RESULT ThreadAPI_Create (THREAD_HANDLE * threadHandle,
    THREAD_START_FUNC func,
    void * arg 
    )
    -
    - -

    Creates a thread with the entry point specified by the func argument.

    -
    Parameters
    - - - - -
    threadHandleThe handle to the new thread is returned in this pointer.
    funcA function pointer that indicates the entry point to the new thread.
    argA void pointer that must be passed to the function pointed to by func.
    -
    -
    -
    Returns
    THREADAPI_OK if the API call is successful or an error code in case it fails.
    - -
    -
    - -
    -
    - - - - - - - - -
    void ThreadAPI_Exit (int res)
    -
    - -

    This function is called by a thread when the thread exits.

    -
    Parameters
    - - -
    resAn integer that represents the exit status of the thread.
    -
    -
    -

    This function is called by a thread when the thread exits in order to return a result value to the caller of the ThreadAPI_Join function. The res value must be copied into the res out argument passed to the ThreadAPI_Join function.

    - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - -
    THREADAPI_RESULT ThreadAPI_Join (THREAD_HANDLE threadHandle,
    int * res 
    )
    -
    - -

    Blocks the calling thread by waiting on the thread identified by the threadHandle argument to complete.

    -
    Parameters
    - - - -
    threadHandleThe handle of the thread to wait for completion.
    resThe result returned by the thread which is passed to the ThreadAPI_Exit function.
    -
    -
    -

    When the threadHandle thread completes, all resources associated with the thread must be released and the thread handle will no longer be valid.

    -
    Returns
    THREADAPI_OK if the API call is successful or an error code in case it fails.
    - -
    -
    - -
    -
    - - - - - - - - -
    void ThreadAPI_Sleep (unsigned int milliseconds)
    -
    - -

    Sleeps the current thread for the given number of milliseconds.

    -
    Parameters
    - - -
    millisecondsThe number of milliseconds to sleep.
    -
    -
    - -
    -
    -
    - - - - diff --git a/c/doc/api_reference/threadapi_8h_source.html b/c/doc/api_reference/threadapi_8h_source.html deleted file mode 100644 index 3d86d055..00000000 --- a/c/doc/api_reference/threadapi_8h_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - -Microsoft Azure IoT Device SDK for C: c/common/inc/threadapi.h Source File - - - - - - - - - - -
    -
    - - - - - - -
    -
    Microsoft Azure IoT Device SDK for C -  1.0.0-preview.1.0.0 -
    -
    The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
    -
    -
    - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    threadapi.h
    -
    -
    -Go to the documentation of this file.
    1 // Copyright (c) Microsoft. All rights reserved.
    -
    2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
    -
    3 
    -
    9 #ifndef THREADAPI_H
    -
    10 #define THREADAPI_H
    -
    11 
    -
    12 #ifdef __cplusplus
    -
    13 extern "C" {
    -
    14 #endif
    -
    15 
    -
    16 #include "macro_utils.h"
    -
    17 
    -
    18 typedef int(*THREAD_START_FUNC)(void *);
    -
    19 
    -
    20 #define THREADAPI_RESULT_VALUES \
    -
    21  THREADAPI_OK, \
    -
    22  THREADAPI_INVALID_ARG, \
    -
    23  THREADAPI_NO_MEMORY, \
    -
    24  THREADAPI_ERROR
    -
    25 
    -
    29 DEFINE_ENUM(THREADAPI_RESULT, THREADAPI_RESULT_VALUES);
    -
    30 
    -
    31 typedef void* THREAD_HANDLE;
    -
    32 
    -
    47 extern THREADAPI_RESULT ThreadAPI_Create(THREAD_HANDLE* threadHandle, THREAD_START_FUNC func, void* arg);
    -
    48 
    -
    64 extern THREADAPI_RESULT ThreadAPI_Join(THREAD_HANDLE threadHandle, int* res);
    -
    65 
    -
    76 extern void ThreadAPI_Exit(int res);
    -
    77 
    -
    83 extern void ThreadAPI_Sleep(unsigned int milliseconds);
    -
    84 
    -
    85 #ifdef __cplusplus
    -
    86 }
    -
    87 #endif
    -
    88 
    -
    89 #endif /* THREADAPI_H */
    -
    THREADAPI_RESULT ThreadAPI_Create(THREAD_HANDLE *threadHandle, THREAD_START_FUNC func, void *arg)
    Creates a thread with the entry point specified by the func argument.
    -
    void ThreadAPI_Exit(int res)
    This function is called by a thread when the thread exits.
    -
    THREADAPI_RESULT ThreadAPI_Join(THREAD_HANDLE threadHandle, int *res)
    Blocks the calling thread by waiting on the thread identified by the threadHandle argument to complet...
    -
    void ThreadAPI_Sleep(unsigned int milliseconds)
    Sleeps the current thread for the given number of milliseconds.
    -
    enum THREADAPI_RESULT_TAG THREADAPI_RESULT
    Enumeration specifying the possible return values for the APIs in this module.
    -
    - - - - diff --git a/c/iothub_client/inc/iothub_message.h b/c/iothub_client/inc/iothub_message.h index 4c413f66..cb26a72f 100644 --- a/c/iothub_client/inc/iothub_message.h +++ b/c/iothub_client/inc/iothub_message.h @@ -1,6 +1,11 @@ // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +/** @file iothub_message.h +* @brief The @c IoTHub_Message component encapsulates one message that +* can be transferred by an IoT hub client. +*/ + #ifndef IOTHUB_MESSAGE_H #define IOTHUB_MESSAGE_H @@ -21,6 +26,9 @@ extern "C" IOTHUB_MESSAGE_INVALID_TYPE, \ IOTHUB_MESSAGE_ERROR \ +/** @brief Enumeration specifying the status of calls to various + * APIs in this module. + */ DEFINE_ENUM(IOTHUB_MESSAGE_RESULT, IOTHUB_MESSAGE_RESULT_VALUES); #define IOTHUBMESSAGE_CONTENT_TYPE_VALUES \ @@ -28,20 +36,101 @@ IOTHUBMESSAGE_BYTEARRAY, \ IOTHUBMESSAGE_STRING, \ IOTHUBMESSAGE_UNKNOWN \ +/** @brief Enumeration specifying the content type of the a given + * message. + */ DEFINE_ENUM(IOTHUBMESSAGE_CONTENT_TYPE, IOTHUBMESSAGE_CONTENT_TYPE_VALUES); typedef void* IOTHUB_MESSAGE_HANDLE; +/** + * @brief Creates a new IoT hub message from a byte array. The type of the + * message will be set to @c IOTHUBMESSAGE_BYTEARRAY. + * + * @param byteArray The byte array from which the message is to be created. + * @param size The size of the byte array. + * + * @return A valid @c IOTHUB_MESSAGE_HANDLE if the message was successfully + * created or @c NULL in case an error occurs. + */ extern IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray(const unsigned char* byteArray, size_t size); + +/** + * @brief Creates a new IoT hub message from a null terminated string. The + * type of the message will be set to @c IOTHUBMESSAGE_STRING. + * + * @param source The null terminated string from which the message is to be + * created. + * + * @return A valid @c IOTHUB_MESSAGE_HANDLE if the message was successfully + * created or @c NULL in case an error occurs. + */ extern IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString(const char* source); +/** + * @brief Creates a new IoT hub message with the content identical to that + * of the @p iotHubMessageHandle parameter. + * + * @param iotHubMessageHandle Handle to the message that is to be cloned. + * + * @return A valid @c IOTHUB_MESSAGE_HANDLE if the message was successfully + * cloned or @c NULL in case an error occurs. + */ extern IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle); +/** + * @brief Fetches a pointer and size for the data associated with the IoT + * hub message handle. If the content type of the message is not + * @c IOTHUBMESSAGE_BYTEARRAY then the function returns + * @c IOTHUB_MESSAGE_INVALID_ARG. + * + * @param iotHubMessageHandle Handle to the message. + * @param buffer Pointer to the memory location where the + * pointer to the buffer will be written. + * @param size The size of the buffer will be written to + * this address. + * + * @return Returns IOTHUB_MESSAGE_OK if the byte array was fetched successfully + * or an error code otherwise. + */ extern IOTHUB_MESSAGE_RESULT IoTHubMessage_GetByteArray(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, const unsigned char** buffer, size_t* size); + +/** + * @brief Returns the null terminated string stored in the message. + * If the content type of the message is not @c IOTHUBMESSAGE_STRING + * then the function returns @c NULL. + * + * @param iotHubMessageHandle Handle to the message. + * + * @return @c NULL if an error occurs or a pointer to the stored null + * terminated string otherwise. + */ extern const char* IoTHubMessage_GetString(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle); + +/** + * @brief Returns the content type of the message given by parameter + * @c iotHubMessageHandle. + * + * @param iotHubMessageHandle Handle to the message. + * + * @return An @c IOTHUBMESSAGE_CONTENT_TYPE value. + */ extern IOTHUBMESSAGE_CONTENT_TYPE IoTHubMessage_GetContentType(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle); + +/** + * @brief Gets a handle to the message's properties map. + * + * @param iotHubMessageHandle Handle to the message. + * + * @return A @c MAP_HANDLE pointing to the properties map for this message. + */ extern MAP_HANDLE IoTHubMessage_Properties(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle); +/** + * @brief Frees all resources associated with the given message handle. + * + * @param iotHubMessageHandle Handle to the message. + */ extern void IoTHubMessage_Destroy(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle); #ifdef __cplusplus