diff options
Diffstat (limited to 'dds_io_pub/Writer.h')
| -rw-r--r-- | dds_io_pub/Writer.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dds_io_pub/Writer.h b/dds_io_pub/Writer.h new file mode 100644 index 0000000..030211d --- /dev/null +++ b/dds_io_pub/Writer.h @@ -0,0 +1,36 @@ +// -*- C++ -*- +// +// $Id: Writer.h 29 2005-07-18 18:21:16Z calabrese_p $ +#ifndef WRITER_H +#define WRITER_H + +#include <dds/DdsDcpsPublicationC.h> +#include <ace/Task.h> + + +class Writer : public ACE_Task_Base +{ +public: + + Writer (::DDS::DataWriter_ptr writer); + + void start (); + + void end (); + + /** Lanch a thread to write. **/ + virtual int svc (); + + bool is_finished () const; + + int get_timeout_writes () const; + + +private: + + ::DDS::DataWriter_var writer_; + ACE_Atomic_Op<ACE_SYNCH_MUTEX, int> finished_instances_; + ACE_Atomic_Op<ACE_SYNCH_MUTEX, int> timeout_writes_; +}; + +#endif /* WRITER_H */ |
