WOSH Framework

Software Screenshot:
WOSH Framework
Software Details:
Version: 0.8.888
Upload Date: 12 May 15
Developer: Alessandro Polo
Distribution Type: Freeware
Downloads: 13

Rating: nan/5 (Total Votes: 0)

WOSH (Wide Open Smart Home) is an open source and multi-platform framework (message oriented middleware)written in ANSI C++, designed to enable (smart) home automation.

WOSH is a Service Oriented Framework (SOA) providing a (Network) OS independent infrastructure for developing component based software (services, aka bundles), but it ships with many implemented services and some end-user applications (as woshsrv, WorkShop).

WOSH and some components are (partially) based on QT4.

This project is actually released for developers, the current stage is not yet ready for end-users.

Some reasons to use and join the WOSH project are:

* It's free, open source, alive!
* It's modular and growing
* It's easy to plug-in new features (C++ required)
* It has been though to be efficient and intuitive
* It contains state-of-the-art libraries (QT4, gloox, festival, gstreamer010, ..)
* It comes with many built-in services (networking, communication, entertainment, remote control, ..)

Features:

  • built-in end-user applications: console and graphical both
  • distributed computing, 'zero-configuration' networking
  • multi-user, role based access
  • remote control using Instant Messaging (using libgloox; compatible with GTalk), SMS (send/receive) and call monitoring (on Windows-Mobile, RNDIS connected smart phone)
  • appliances and sensors (X10 devices) monitor/control (on POSIX, based on Heyu)
  • entertainment, multi-zone media playback (using GStreamer on POSIX or QT Phonon on Windows, VLC). Media-Director service provides a high abstraction layer, the recovery/guess multimedia status, hardware/software shortcuts and more
  • centralized communication system (selecting best communication channel), using also interpreters (such as Festival for Text2Speech)
  • building abstract-representation of the home and its devices (rooms, lights, audio-box, ..)
  • Cron and Automation services, providing support for basic every-day tasks
  • many not listed and more to come..

What is new in this release:

  • build and tested on Debian Sqeeze
  • added String class, many Utitilites functions have been rewritten and moved there
  • significant performance improvement
  • fixed some memory leaks
  • many defines are now declared as C++ constants
  • doing some profiling/performance tests (Windows/VS2010)
  • Containers rewritten and classes were moved
  • added src/common.spec.pri (contains shared stuff from old common.pri)
  • string DEFINES are now declared/defined as (typed) const char[]
  • removed (meyer) singleton ObjectFactory, now can be used only after allocating WoshKernel
  • removed (meyer) singleton ThreadManager, now can be used only after allocating WoshKernel
  • removed plugin framework (integrated in core, see ObjectLibrary)
  • Core:
  • Settings renamed as WoshSettings, now supports also -=, |= operators
  • added modified timestamp to Properties
  • fixing constructors' initializers
  • ISerializable is now extending new interfaces IStringifiable, IHashable
  • added Description, last-modified fields to Property
  • added Stream classes (beta stage)
  • added Buffer classes (beta stage)
  • fixed serious bug in ThreadPool::setWorkersCount
  • rewritten Containers, removed DataAdapter
  • added multi-hop dynamic routing (NetworkManager)
  • support registration of remote multi-hop hosts (NetworkManager)
  • fixed bug in wosh::getEnumSetAsString() (macro _ENUMSET_TOSTRING)
  • added procedures related to CLI for win32 and posix
  • fixed deserialization of Variant[DATETIME]
  • URICollector is not accessible as meyer singleton anymore, now referenced in WoshKernel (::globalURIs)
  • MethodCollector is not accessible as meyer singleton anymore, now referenced in WoshKernel (::globalMethods)
  • removed (meyer) singleton FileSystem::getTemporaryFiles (now is a member var)
  • added ObjectLibrary, ObjectLibraryLoader (manage shared libraries)
  • NetworkUtilities class added (moved** from wosh::network::NetworkUtilities)
  • implemented some operators (+, -, *, /, ..) of Variant class
  • added BundleGenericWorker.cpp
  • renamed LogHandlerStdOut to LogHandlerStdC
  • rewritten Thread class
  • fixed bug in ThreadPool (used by BusMT)
  • Automations:
  • removed required reference to xtended::WeatherInfo, now using interfaces::various::WeatherInfo
  • Communication:
  • removed SessionProtocol, now using SessionEncoder and SessionInterpreter
  • added defaults implementations for SessionEncoder and SessionInterpreter
  • fixed some bugs in Session, SessionShell
  • * SessionShell is now hiding password while logging in
  • fixed bug in commadn line parsing (ShellCommand)
  • Networking:
  • removed/updated NetworkingUtilities ( now refer to core class or NetworkManager::utlities() )
  • added NetworkingUtilities implementation for QT, Winsock2
  • added network library winsock2 (stuff moved from csocket)
  • fixed delay while resolving hostname (TCP protocol connection)
  • SocketUdp is not an interface class
  • fixed debug output on DeSerialization error
  • Bundles:
  • updated PlayerMPD, now: examines outputs changes, memory leaks fixed
  • fixed Heyu, now using custom popen and exit gracefully (no need of CTRL-C as before)
  • Gui:
  • fixed deallocation of SessionGui
  • fixed stop of BusRingQt
  • fixed bug in DialogLogin (when already logged it does SU)
  • fixed PropertiesMapper and some signals on Variant gui
  • minor fixes to guis
  • Xtended:
  • WeatherInfo inheriting from interfaces::various::WeatherInfo class

What is new in version 0.8.462:

  • Minor and major bugs were fixed in both the core and bundles.
  • Weather and Gardener bundles are being introduced.

What is new in version 0.8.161:

  • Core:
  • critical deserialization fix on NEW_List
  • minor fix to containers (naming)
  • fixed permission bug of method_list (didn't allow to list methods)
  • common MPC method props_get now supports wildchar
  • ThreadManager released as 0.8.499(final)
  • BusManager released as 0.8.499(final)
  • SystemMonitor released as 0.8.161
  • DeviceManager: static methods removed
  • DeviceManager released as 0.8.499(final)
  • ObjectFactory released as 0.8.499(final)
  • introducing SharedMemory (still under development)
  • wosh-core low-level memory fixes (memcheck) [about 200kb were lost]
  • URI tree de-allocation fixed, URICollector now is a singleton (instead of the tree itself)
  • SystemProfiler de-allocation fixed (missing free() of properties and connectors)
  • Documentation:
  • global revision has been started
  • some doc-pages have moved nearby the implementation
  • added RoadMap file
  • Gui:
  • rewritten FormScreenShoter, to be used for new documentation
  • rewritten FormBusMonitor, to be dockable, customizable
  • FormThreadManager released as 0.8.499(final)
  • FormBusManager released as 0.8.499(final)
  • FormSystemMonitor released as 0.8.161
  • FormDeviceManager released as 0.8.499(final)
  • FormObjectFactory released as 0.8.499(final)
  • added GuiMapping dialog (under Tools)

What is new in version 0.8.151:

  • Core:
  • minor fixes
  • BundleManager updated, now using BundleAction(s)
  • fixed some Response formatting error (cos of previous format)
  • MessageProcessingCommon update, supporting containers
  • Networking:
  • fixed built issues and aligned (lisockets::TCP still delayed)
  • minor updates, NetworkProtocol hosts methods
  • Gui: (still work in progress)
  • now using ObjectFactory, ObjectAllocator
  • fixed log viewer using custom handler
  • many fixes to work with updated core/components

What is new in version 0.8.101:

  • Core:
  • minor fixes
  • BundleManager updated, now using BundleAction(s)
  • fixed some Response formatting error (cos of previous format)
  • MessageProcessingCommon update, supporting containers
  • Networking:
  • fixed built issues and aligned (lisockets:TCP still delayed)
  • minor updates, NetworkProtocol hosts methods
  • Gui: (still work in progress)
  • now using ObjectFactory, ObjectAllocator
  • fixed log viewer using custom handler
  • many fixes to work with updated core/components

What is new in version 0.8.013:

  • Core:
  • Containers totally rewritten
  • Data class reimplemented as Variant (using union)
  • Object: reviewed some getters/setters (removing non-const 'getters')
  • Permission: added overwrite mask and some helpers
  • interfaces: totally revisited
  • Bundles: intrinsically revisited
  • BundleRequirements: added class, not effective yet
  • PropertiesProvider: rewritten, but similar interface
  • MethodProvider: rewritten, standard calls changed
  • Functional: introducing STL-based functional
  • added Tree structure (lame btw)
  • Reflection: indrocuding a naive reflection support
  • Logging: rewritten to be FAST, now using dynamic handlers, run-time options, stdout coloured on win/linux
  • added woshMacros.h
  • applyed DRY paradigm :)
  • WoshKernel: state-machine and (module) booting reviewed
  • SystemProfiler: introducing an embedded tool for profiling methods, properties and bus-connectors
  • Shell protocol: updated command-line parsing, now considering quoted arguments and GNU style options (--)
  • fixed a bug in thread initialization (when failed), timeout optimized
  • intrinsically increased performance!! (probably 100x)
  • Modules:
  • ObjectFactory (added): components allocation was rewritten (centralized)
  • SystemLogger (replaces LogCore) : logger is now a module, even if may work standalone
  • PersistenceManager (replaces DataBaseManager)
  • Persistence:
  • IReflection : Added, provides getClassName(), common MACROS
  • Serializable: REMOVED, renamed to ISerializable
  • ISerializable: RTTI/not, common MACROS, I/O using serializers (IEncoder)
  • IEncoderReader: interface for de-serialization [pop(TYPE)]
  • IEncoderWriter: interface for serialization [push(TYPE)]
  • encoders are loaded using ObjectFactory
  • Networking:
  • fixed some segfault errors in NetworkManager
  • framework/network: source tree/project files changed
  • supporting multiple newtorking libraries at runtime, socket new-component-allocation-style (ObjectFactory)
  • libSockets: introducing alternative/concurrent support to Sockets library
  • SocketUdp: now fully supported and compatible with: {Qt (old), libSocket} (TCP, HTTP, SSL will come further)
  • network protocols are loaded using ObjectFactory
  • added timeouts to all (un)bind/(dis)connect
  • Bundles:
  • ALL bundles, have been updated to new specs. broken backward compatibility
  • built-in registration totally revised! now using inline macros, just include source in build
  • bundles are loaded using ObjectFactory

What is new in version 0.6.320 Build 2010-02-21:

  • network: many classes have been RENAMED: NetworkChannel-Udp,-Tcp (and its server)
  • Discovery (udp) renamed as DiscoveryUdp
  • DiscoveryUdp RELEASED. (code revisioned, documentation, man)
  • Thread: initializingThread now returns BOOL (and it's evaluated)
  • Man: basic implementation
  • SystemError: now accept CONST source
  • SocketUdp: minor revision and documentation update
  • gui: added DiscoveryUdp interface, added some icons
  • gatalkbot: removed (renamed as JabberGloox)
  • JabberGloox: reviewed, now supports glooox 0.9, 1.0 [win32, unix]

Requirements:

  • Qt

Similar Software

DirectFB
DirectFB

15 Apr 15

openTCS
openTCS

7 Mar 16

BACnet
BACnet

11 Apr 16

Comments to WOSH Framework

Comments not found
Add Comment
Turn on images!