/****************************************************************************** * 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 NameCodeDescription
INVALID0 (ASCII NUL)Not a valid type code, used to terminate signatures
BYTE121 (ASCII 'y')8-bit unsigned integer
BOOLEAN98 (ASCII 'b')Boolean value, 0 is FALSE and 1 is TRUE. Everything else is invalid.
INT16110 (ASCII 'n')16-bit signed integer
UINT16113 (ASCII 'q')16-bit unsigned integer
INT32105 (ASCII 'i')32-bit signed integer
UINT32117 (ASCII 'u')32-bit unsigned integer
INT64120 (ASCII 'x')64-bit signed integer
UINT64116 (ASCII 't')64-bit unsigned integer
DOUBLE100 (ASCII 'd')IEEE 754 double
STRING115 (ASCII 's')UTF-8 string (must be valid UTF-8). Must be nul terminated and contain no other nul bytes.
OBJECT_PATH111 (ASCII 'o')Name of an object instance
SIGNATURE103 (ASCII 'g')A type signature
ARRAY97 (ASCII 'a')Array
STRUCT114 (ASCII 'r'), 40 (ASCII '('), 41 (ASCII ')')Struct
VARIANT118 (ASCII 'v') Variant type (the type of the value is part of the value itself)
DICT_ENTRY101 (ASCII 'e'), 123 (ASCII '{'), 125 (ASCII '}') Entry in a dict or map (array of key-value pairs)
For of the types are container types. STRUCT, ARRAY, VARIANT, and DICT_ENTRY . All other types are a common basic data type. @section section3 Message A message is a unit of communication via the AllJoyn protocol. A message can send an receive any number of values. @section section4 Signals A signal is an outbound value that is transmitted on the bus. */