summaryrefslogtreecommitdiff
path: root/dds_io_pub/Writer.h
diff options
context:
space:
mode:
authorguest <guest@c30cbac5-9f56-4f76-8ed5-5c34e48a65ae>2007-10-10 08:11:16 +0000
committerguest <guest@c30cbac5-9f56-4f76-8ed5-5c34e48a65ae>2007-10-10 08:11:16 +0000
commitcf15d52a8d98f69623bcacda785d71872551f040 (patch)
tree4fb0124a4de9cf19807828240f2cd36bd5235696 /dds_io_pub/Writer.h
parentd3d7bd1ec32c3b37c512cbc59b5860f2eb75de35 (diff)
Initial import.
git-svn-id: svn+ssh://mecka.net/home/svn/dds@5 c30cbac5-9f56-4f76-8ed5-5c34e48a65ae
Diffstat (limited to 'dds_io_pub/Writer.h')
-rw-r--r--dds_io_pub/Writer.h36
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 */