/* * The Unix Channel * * by Michel Beaudouin-Lafon * * Copyright 1990-1997 * Laboratoire de Recherche en Informatique (LRI) * * Bus access, by Stephane Chatty * * $Id$ * $CurLog$ */ #ifndef BusAccess_H_ #define BusAccess_H_ #include "Datagram.h" #include "Stream.h" #include "SignalHandler.h" #include "ccu/List.h" #include "ccu/IdTable.h" class UchBusSubscription; class UchBusTrigger; class DnnBaseReaction; class UchBusAccess : public UchDatagram, public UchBaseSignalHandler { friend class UchBusAgent; protected: static int Version; sword ListenPort; sword BroadcastPort; UchStream* Server; CcuListOf Agents; CcuListOf LocalSubscriptions; CcuIdTableOf IdToSubscription; void HandleRead (); void DeferredHandle (int); void HandleEvent (int, const char*); public: UchBusAccess (sword); ~UchBusAccess (); void Subscribe (DnnBaseReaction&, const char*); void Emit (const char*, ...); }; #endif /* BusAccess_H_ */