macchina.io Blog

Internet of Things, edge computing, IoT device software, C++


The Lesser Known Feature: OSP Extension Bundles

Release 2010.1 of the Open Service Platform introduced the concept of “Extension Bundles”. This allows a bundle to declare in its manifest that it extends another bundle (Extends-Bundle header in manifest; <extends> element in bundle specification file). When an extension bundle has been loaded, its properties (from bundle.properties and localized variants) will overlay all properties of […]

Tagged

The Lesser Known Feature: Signed OSP Bundles

Open Service Platform release 2009.1 introduced cryptographically signed bundles. Bundles can be digitally signed with an X.509 certificate, using an RSA-SHA1 signature. Digitally signed bundles offer the following features: A signed bundle allows verification of the bundle’s author, through the author’s digital (public key) certificate. A signed bundle guarantees that its contents have not been […]


Where to Put The OSP CodeCache Directory

One of the questions that comes up frequently when installing an OSP-based application on an end-user system is where to put the OSP codeCache. The codeCache is a directory where the OSP framework puts all shared libraries contained in bundles, so that the operating system can find and load them. The OSP framework itself does […]

Tagged

Implementing UPnP Control Points on iOS

Applied Informatics’ UPnP framework can be used to implement both servers as well as control points, as demonstrated by the included sample applications (SimpleMediaServer, NetworkLight, NetworkLightController, etc.). An interesting exercise is to implement a UPnP control point on iOS. While the code dealing with network issues like device discovery, control and eventing is the same […]

Tagged ,

Logging with POCO on iOS

The POCO C++ Libraries come with a powerful logging framework that supports different logging channels like log files, console, syslog or the Windows Event Log. All of these channels (except maybe the FileChannel) are not very useful when developing applications for the iPhone. So what should one do when porting existing C++ code that uses […]

Tagged , , ,