/****************************************************************************** * Copyright (c) 2010-2011, 2014, AllSeen Alliance. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************************/ /*This file will contain documentation for AllJoyn that does not fit in the source code. * This is also a location to document things that don't have a clear place where they * should be documented in the code. (i.e. namespace ajn). * * This file will be parsed by doxygen. Only text within the doxygen tags will show up in * the final documentation. */ /* * the namespace 'alljoyn' is used in so many locations that there is no single location that * it makes since to document that namespace so it has been documented here. */ /** * @namespace ajn * namespace used for the AllJoyn API */ /** * @namespace services * namespace used by AllJoyn services */ /** * *@mainpage AllJoyn Documentation * *AllJoyn C++ API Reference Manual @section subsection1 Overview AllJoyn is a device-to-device communication protocol which enables mobile devices to support peer-to-peer applications such as multi-player gaming and social networking. AllJoyn is designed as a backwards-compatible extension of DBus, a standard protocol for inter-application communication in the Linux desktop environment. It offers the following features: - Cross platform/OS/device - Peer-to-peer communication - Simplified service discovery - Flexible security framework and trust models - Transport agnostic / multi-protocol support - Multi-language support for the AllJoyn API This document describes the C++ language binding for the AllJoyn API. It covers the following topics: - @ref section2 "Type Signatures" - @ref section3 "Messages" - @ref section4 "Signals" @section section2 Type Signatures AllJoyn uses the same type signatures that are used by the Dbus protocol. The type signature is made up of type codes . Type code is an ASCII character that represents a standard data type. The following table summarizes the AllJoyn types.
| Conventional Name | Code | Description |
|---|---|---|
| INVALID | 0 (ASCII NUL) | Not a valid type code, used to terminate signatures |
| BYTE | 121 (ASCII 'y') | 8-bit unsigned integer |
| BOOLEAN | 98 (ASCII 'b') | Boolean value, 0 is FALSE and 1 is TRUE. Everything else is invalid. |
| INT16 | 110 (ASCII 'n') | 16-bit signed integer |
| UINT16 | 113 (ASCII 'q') | 16-bit unsigned integer |
| INT32 | 105 (ASCII 'i') | 32-bit signed integer |
| UINT32 | 117 (ASCII 'u') | 32-bit unsigned integer |
| INT64 | 120 (ASCII 'x') | 64-bit signed integer |
| UINT64 | 116 (ASCII 't') | 64-bit unsigned integer |
| DOUBLE | 100 (ASCII 'd') | IEEE 754 double |
| STRING | 115 (ASCII 's') | UTF-8 string (must be valid UTF-8). Must be nul terminated and contain no other nul bytes. |
| OBJECT_PATH | 111 (ASCII 'o') | Name of an object instance |
| SIGNATURE | 103 (ASCII 'g') | A type signature |
| ARRAY | 97 (ASCII 'a') | Array |
| STRUCT | 114 (ASCII 'r'), 40 (ASCII '('), 41 (ASCII ')') | Struct |
| VARIANT | 118 (ASCII 'v') | Variant type (the type of the value is part of the value itself) |
| DICT_ENTRY | 101 (ASCII 'e'), 123 (ASCII '{'), 125 (ASCII '}') | Entry in a dict or map (array of key-value pairs) |