API/ickP2p

From ickStream Wiki
Jump to: navigation, search

Contents

Overview

The ickP2P protocol is used for automatic announcement and discovery on the local network all device to device communication is handled through the ickP2P protocol. It's a C component with a C API, provided as static library libickp2p.a and the include file ickP2p.h. The general principle when used on third party platform is that you build it for the architecture you want to use and bundle it with your application.


Basic usage

Each ickstream device is defined by its UUID and logically represented by an ickstream context of type ickP2pContext_t. I.e. an application can host several logical devices by managing multiple contexts.

The life-cycle of a context is

  • Creation - Define context with basic features
  • Setup - Add additional features and define callbacks
  • Activation - Activate the context, i.e. announce the device and react on messages
  • Deletion - Remove the device and clean up


Data Types

The ickP2P library makes use of the following data types:


List of API functions

Global functions (not related to a context)

The following API functions are global, i.e. do affect all contexts.

Versions

String conversion

Logging


Context life-cycle


Context configuration

Interfaces and connections

Callbacks for device discovery and message handling


Inquiring context features


Get features of discovered devices


Messaging


Debugging

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox