Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / apps / JAWS2 / JAWS / Pipeline_Tasks.h
blobf96729314f4b4cbff35b9d03738e4df21f9a1542
1 /* -*- c++ -*- */
2 #ifndef JAWS_PIPELINE_TASKS_H
3 #define JAWS_PIPELINE_TASKS_H
5 #include "ace/Singleton.h"
7 #if !defined (ACE_LACKS_PRAGMA_ONCE)
8 # pragma once
9 #endif /* ACE_LACKS_PRAGMA_ONCE */
11 #include "JAWS/Export.h"
12 #include "JAWS/Pipeline.h"
13 #include "JAWS/Pipeline_Handler_T.h"
14 #include "JAWS/Data_Block.h"
16 class JAWS_Export JAWS_Pipeline_Handler
17 : public JAWS_Pipeline_Abstract_Handler<JAWS_Data_Block>
19 public:
20 JAWS_Pipeline_Handler ();
21 virtual ~JAWS_Pipeline_Handler ();
22 virtual int put (ACE_Message_Block *mb, ACE_Time_Value *tv = 0);
23 virtual int handle_put (JAWS_Data_Block *data, ACE_Time_Value *tv) = 0;
25 virtual JAWS_Dispatch_Policy * policy ();
26 virtual void policy (JAWS_Dispatch_Policy *);
28 private:
29 JAWS_Dispatch_Policy *policy_;
32 class JAWS_Pipeline_Accept_Task : public JAWS_Pipeline_Handler
34 public:
35 virtual int put (ACE_Message_Block *mb, ACE_Time_Value *tv = 0);
36 virtual int handle_put (JAWS_Data_Block *data, ACE_Time_Value *tv);
38 virtual JAWS_IO_Handler * new_handler (JAWS_Data_Block *data);
41 class JAWS_Pipeline_Done_Task : public JAWS_Pipeline_Handler
43 public:
44 virtual int put (ACE_Message_Block *mb, ACE_Time_Value *tv = 0);
45 virtual int handle_put (JAWS_Data_Block *data, ACE_Time_Value *tv);
48 typedef ACE_Singleton<JAWS_Pipeline_Accept_Task, ACE_SYNCH_MUTEX>
49 JAWS_Pipeline_Accept_Task_Singleton;
51 typedef ACE_Singleton<JAWS_Pipeline_Done_Task, ACE_SYNCH_NULL_MUTEX>
52 JAWS_Pipeline_Done_Task_Singleton;
54 #endif /* !defined (JAWS_PIPELINE_TASKS_H) */