00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef OPENDDS_DCPS_THREADPERCONREMOVEVISITOR_H
00009 #define OPENDDS_DCPS_THREADPERCONREMOVEVISITOR_H
00010 
00011 #include "dds/DCPS/dcps_export.h"
00012 #include "BasicQueueVisitor_T.h"
00013 #include "TransportDefs.h"
00014 #include "ThreadPerConnectionSendTask.h"
00015 #include "ace/Message_Block.h"
00016 
00017 namespace OpenDDS {
00018 namespace DCPS {
00019 
00020 class OpenDDS_Dcps_Export ThreadPerConRemoveVisitor
00021   : public BasicQueueVisitor<SendRequest> {
00022 public:
00023 
00024 
00025 
00026 
00027 
00028 
00029   explicit ThreadPerConRemoveVisitor(const ACE_Message_Block* sample);
00030 
00031   virtual ~ThreadPerConRemoveVisitor();
00032 
00033 
00034 
00035   virtual int visit_element_remove(SendRequest*           element,
00036                                    int&                   remove);
00037 
00038 
00039   RemoveResult status() const;
00040 
00041 private:
00042 
00043 
00044   const ACE_Message_Block* sample_;
00045 
00046 
00047   RemoveResult status_;
00048 };
00049 
00050 } 
00051 } 
00052 
00053 #if defined (__ACE_INLINE__)
00054 #include "ThreadPerConRemoveVisitor.inl"
00055 #endif 
00056 
00057 #endif