WOSH (Wide Open Smart Home) é uma fonte aberta e um quadro multi-plataforma (middleware orientado a mensagem) escrito em ANSI C ++, projetado para permitir automação residencial (inteligente).
WOSH é um Framework Service Oriented (SOA) proporcionando uma infra-estrutura independente (Rede) OS para o desenvolvimento de software baseado em componentes (serviços, aka pacotes), mas ele vem com muitos serviços implementados e alguns aplicativos de usuário final (como woshsrv, oficina).
WOSH e alguns componentes são (parcialmente) com base na QT4.
Este projeto é realmente liberado para os desenvolvedores, o estágio atual ainda não está pronto para os usuários finais.
Algumas razões para usar e se juntar ao projeto WOSH são:
* É gratuito, de código aberto, vivo!
* É modular e crescente
* É fácil plug-in novos recursos (C ++ obrigatório)
* Foi embora, para ser eficiente e intuitivo
* Ele contém state-of-the-art bibliotecas (QT4, gloox, festival, gstreamer010, ..)
* Ele vem com muitos serviços embutidos (networking, comunicação, entretenimento, controle remoto, ..)
Recursos :
- built-in aplicativos de usuário final: console e gráfica ambos
- computação distribuída, «zero-configuration 'rede
- multi-usuário, acesso baseado papel
- controle remoto usando mensagens instantâneas (usando libgloox; compatível com GTalk), SMS (enviar / receber) e monitoramento de chamadas (no Windows-Mobile, RNDIS ligado telefone inteligente)
- aparelhos e sensores (dispositivos X10) monitorar / controle (on POSIX, com base em Heyu)
- entretenimento, reprodução de mídia multi-zona (usando GStreamer no POSIX ou QT Phonon no Windows, VLC). Serviço Media-Director fornece uma camada de abstração de alta, o status de recuperação / multimídia adivinhar, atalhos de hardware / software e mais
- sistema de comunicação centralizado (selecionando melhor canal de comunicação), utilizando também intérpretes (como o Festival de Text2Speech)
- edifício abstrato-representação da casa e seus dispositivos (quartos, luzes, caixa de áudio, ..)
- Cron serviços e automação, proporcionando suporte para tarefas básicas do dia a dia
- muitos não listado e mais para vir ..
O que é novo nesta versão:
- construir e testado em Debian Sqeeze
- acrescentou classe String, muitas funções Utitilites foram reescritos e se mudou para lá
- melhora significativa de desempenho
- fixos alguns vazamentos de memória
- define muitos estão agora declarado como C ++ constantes
- fazer alguns testes de perfil / desempenho (Windows / VS2010)
- Contentores reescritos e classes foram movidos
- acrescentou src / common.spec.pri (contém material compartilhado de common.pri de idade)
- Define seqüência de caracteres são agora declarados / definido como (digitado) const char []
- removido (Meyer) solteirão ObjectFactory, agora pode ser usado somente após a atribuição WoshKernel
- removido (Meyer) solteirão ThreadManager, agora pode ser usado somente após a atribuição WoshKernel
- quadro do plugin removido (integrado no núcleo, consulte ObjectLibrary)
- Núcleo:
- Configurações renomeado como WoshSettings, agora suporta também - =, | = operadores
- acrescentou timestamp modificado para Propriedades
- inicializadores de construtores de fixação
- ISerializable está agora estendendo novas interfaces IStringifiable, IHashable
- Descrição acrescentou, última modificação campos para Propriedade
- acrescentou Córrego aulas (estágio beta)
- adicionado tampão aulas (estágio beta)
- bug sério corrigido no ThreadPool :: setWorkersCount
- reescrito Containers, removido DataAdapter
- acrescentou roteamento dinâmico multi-hop (NetworkManager)
- Registro de apoio dos exércitos multi-hop remotos (NetworkManager)
- bug corrigido em Wosh :: getEnumSetAsString () (macro _ENUMSET_TOSTRING)
- acrescentou procedimentos relacionados à CLI para win32 e posix
- desserialização fixa de Variant [DATETIME]
- URICollector não é acessível como Meyer solteirão mais, agora referenciado em WoshKernel (:: globalURIs)
- MethodCollector não é acessível como Meyer solteirão mais, agora referenciado em WoshKernel (:: globalMethods)
- removido (Meyer) FileSystem :: singleton getTemporaryFiles (agora é um membro var)
- acrescentou ObjectLibrary, ObjectLibraryLoader (gerenciar bibliotecas compartilhadas)
- NetworkUtilities acrescentado (** mudou de Wosh :: :: rede NetworkUtilities)
- implementada alguns operadores (+, -, *, /, ..) de classe Variant
- acrescentou BundleGenericWorker.cpp
- renomeado LogHandlerStdOut para LogHandlerStdC
- classe Thread reescrito
- bug corrigido no ThreadPool (usado por BusMT)
- Automações:
- referência exigido removido para Xtended :: WeatherInfo, agora usando interfaces :: :: vários WeatherInfo
- Comunicação:
- removido SessionProtocol, agora usando SessionEncoder e SessionInterpreter
- acrescentou defaults implementações para SessionEncoder e SessionInterpreter
- corrigidos alguns bugs no Session, SessionShell
- * SessionShell agora está escondendo senha ao fazer o login
- bug corrigido em linha commadn análise (SHELLCOMMAND)
- Rede:
- removidas / NetworkingUtilities atualizados (agora se referem a classe principal ou NetworkManager :: utlities ())
- acrescentou implementação NetworkingUtilities para QT, Winsock2
- rede adicionada biblioteca Winsock2 (coisas mudou-se de CSocket)
- atraso fixo, enquanto a resolução de hostname (conexão protocolo TCP)
- SocketUdp não é uma classe de interface
- saída de depuração fixo em caso de erro de desserialização
- Bundles:
- atualizado PlayerMPD, agora: examina saídas mudanças, vazamentos de memória fixo
- Heyu fixo, usando agora costume popen e sair normalmente (sem necessidade de CTRL-C como antes)
- Gui:
- deallocation fixa de SessionGui
- encosto fixo de BusRingQt
- bug corrigido em DialogLogin (quando já registrados faz SU)
- fixo PropertiesMapper e alguns sinais sobre Variant gui
- pequenas correções para GUIs
- Xtended:
- WeatherInfo herdando de interfaces de vários :: :: class WeatherInfo
Classe
O que é novo na versão 0.8.462:
- Menor e principais bugs foram corrigidos, tanto o núcleo e pacotes.
- Tempo e jardineiro pacotes estão sendo introduzidas.
O que é novo na versão 0.8.161:
- Núcleo:
- correção desserialização crítica sobre new_list
- correção menor para recipientes (nomeação)
- bug permissão fixa de method_list (não permitiu listar métodos)
- comum MPC método props_get agora suporta wildchar
- ThreadManager lançado como 0.8.499 (final)
- BusManager lançado como 0.8.499 (final)
- SystemMonitor lançado como 0.8.161
- DeviceManager: métodos estáticos removido
- DeviceManager lançado como 0.8.499 (final)
- ObjectFactory lançado como 0.8.499 (final)
- introdução SharedMemory (ainda em desenvolvimento)
- correções de memória de baixo nível Wosh-core (memcheck) [cerca de 200kb foram perdidos]
- URI árvore de-alocação fixa, URICollector agora é um solteirão (em vez de a própria árvore)
- SystemProfiler de-alocação fixa (faltando free () de propriedades e conectores)
- Documentação:
- revisão global tem sido iniciado
- alguns doc-páginas mudaram perto a implementação
- acrescentou arquivo RoadMap
- Gui:
- reescrito FormScreenShoter, a ser utilizado para nova documentação
- reescrito FormBusMonitor, para ser acoplável, customizável
- FormThreadManager lançado como 0.8.499 (final)
- FormBusManager lançado como 0.8.499 (final)
- FormSystemMonitor lançado como 0.8.161
- FormDeviceManager lançado como 0.8.499 (final)
- FormObjectFactory lançado como 0.8.499 (final)
- acrescentou diálogo GuiMapping (em Ferramentas)
O que é novo na versão 0.8.151:
- Núcleo:
- pequenas correções
- BundleManager atualizado, agora com BundleAction (s)
- fixo algum erro de formatação Response (cos de formato anterior)
- atualização MessageProcessingCommon, apoiando recipientes
- Rede:
- fixos questões construídas e alinhados (lisockets :: TCP ainda atrasada)
- pequenas atualizações, NetworkProtocol hospeda métodos
- Gui: (ainda trabalho em andamento)
- usando agora ObjectFactory, ObjectAllocator
- visualizador de registo fixo usando manipulador personalizado
- muitas correções para trabalhar com núcleo atualizado / componentes
O que é novo na versão 0.8.101:
- Núcleo:
- pequenas correções
- BundleManager atualizado, agora com BundleAction (s)
- fixo algum erro de formatação Response (cos de formato anterior)
- atualização MessageProcessingCommon, apoiando recipientes
- Rede:
- problemas corrigidos construídas e alinhados (lisockets: TCP ainda atrasada)
- pequenas atualizações, NetworkProtocol hospeda métodos
- Gui: (ainda trabalho em andamento)
- usando agora ObjectFactory, ObjectAllocator
- visualizador de registo fixo usando manipulador personalizado
- muitas correções para trabalhar com núcleo atualizado / componentes
O que é novo na versão 0.8.013:
- Núcleo:
- Contentores totalmente reescrito
- classe de dados reimplemented como Variant (usando união)
- Objeto: revisada alguns getters / setters (removendo 'getters' não-const)
- Permissão: adicionado máscara por sobreposição e alguns ajudantes
- interfaces: totalmente revisitado
- Bundles: intrinsecamente revisitado
- BundleRequirements: classe acrescentou, não é eficaz ainda
- PropertiesProvider: reescrito, mas interface similar
- MethodProvider: reescrito, chamadas padrão mudou
- Funcional: introdução à base de STL funcional
- acrescentou estrutura Tree (lame btw)
- Reflexão: indrocuding um suporte reflexão ingênuo
- Logging: reescrito para ser rápido, agora usando manipuladores dinâmicos, em tempo de execução opções, stdout colorido no win / linux
- acrescentou woshMacros.h
- paradigma DRY applyed:)
- WoshKernel: state-máquina e (módulo) a inicialização avaliação
- SystemProfiler: a introdução de uma ferramenta integrada para criação de perfil métodos, propriedades e ônibus-conectores
- Shell protocolo: atualizado de linha de comando de análise, considerando agora argumentos citados e opções de estilo GNU (-)
- Corrigido um erro na inicialização do thread (quando não), tempo limite otimizado
- intrinsecamente maior desempenho !! (Provavelmente 100x)
- Módulos:
- ObjectFactory (adicionado): alocação de componentes foi reescrito (centralizado)
- SystemLogger (substitui LogCore): logger é agora um módulo, mesmo se pode trabalhar autônomo
- PersistenceManager (substitui DataBaseManager)
- Persistência:
- IReflection: Added, fornece GetClassName (), macros comuns
- Serializable: removido, renomeado para ISerializable
- ISerializable: RTTI / não, macros comuns, E / S usando serializers (IEncoder)
- IEncoderReader: interface para de-serialização [pop (TYPE)]
- IEncoderWriter: interface para serialização [push (TYPE)]
- codificadores são carregados usando ObjectFactory
- Rede:
- corrigidos alguns erros segfault no NetworkManager
- estrutura / rede: Árvore de arquivos de origem / projeto mudou
- apoio a várias bibliotecas newtorking em tempo de execução, socket-componente-alocação de estilo novo (ObjectFactory)
- libsockets: introdução alternativa / suporte simultâneo à biblioteca Sockets
- SocketUdp: agora totalmente suportado e compatível com: {Qt (old), libSocket} (TCP, HTTP, SSL virá mais)
- protocolos de rede são carregados usando ObjectFactory
- adicionados tempos de espera para todos os (des) bind / (des) conectar
- Bundles:
- Todos os Pacotes, foram atualizados para novas especificações. compatibilidade com versões anteriores quebrado
- Registro de built-in totalmente revisto! agora com macros dentro da linha, basta incluir fonte na compilação
- feixes são carregados usando ObjectFactory
O que é novo na versão 0.6.320 Construir 2010-02-21:
- rede: muitas classes foram renomeados: NetworkChannel-UDP, -TCP (e seu servidor)
- Discovery (UDP) renomeado como DiscoveryUdp
- DiscoveryUdp LIBERADO. (Código revisioned, documentação, homem)
- Tópico: initializingThread agora retorna BOOL (e é avaliado)
- Man: implementação básica
- systemerror: agora aceitar fonte CONST
- SocketUdp: ligeira revisão e atualização da documentação
- gui: adicionado interface de DiscoveryUdp, acrescentou alguns ícones
- gatalkbot: removido (renomeado como JabberGloox)
- JabberGloox: revisado, agora suporta glooox 0.9, 1.0 [win32, unix]
Requisitos :
- Qt
Comentários não encontrado