00001 #ifndef __EVENTDISTRIBUTORCLIENT_H__ 00002 #define __EVENTDISTRIBUTORCLIENT_H__ 00003 00004 /***************************************************************************** 00005 * Class: EventDistributorClient 00006 * Author: dlemmerm 00007 * Date: 5/31/03 00008 * Purpose: This class receives broadcasts of the event buffer and stores them 00009 * in a shared memory space. Then the GLUE program you are running will 00010 * read out of this memory space and set a flag letting this class know 00011 * that the data has been read. 00012 ******************************************************************************/ 00013 00014 // Superclass 00015 #include "EventDistributor.H" 00016 00017 // GLUE 00018 #include <std/ipc.simple.sem.H> 00019 #include <std/ipc.simple.shmem.H> 00020 00021 #include "dev/cluster_shmem2evt.H" // get the get the various enumeration settings 00022 00023 class EventDistributorClient : public EventDistributor 00024 { 00025 public: 00026 EventDistributorClient( str_ptr host ); 00027 virtual ~EventDistributorClient(); 00028 00029 virtual bool init( int argc, char **argv ); 00030 virtual void loop(); 00031 virtual void term(); 00032 00033 protected: 00034 SimpleSHMEM *_shmem_device_data; 00035 SimpleSHMEM *_shmem_flags; 00036 SimpleSemaphore *_semaphore_device_data; 00037 }; 00038 00039 00040 00041 #endif