Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / ACE / apps / JAWS2 / JAWS / Data_Block.h
blob4beb61cdb4c2cbf1b376258f9967536b31047e97
1 /* -*- c++ -*- */
2 #ifndef JAWS_DATA_BLOCK_H
3 #define JAWS_DATA_BLOCK_H
5 #include "ace/Message_Block.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"
14 class JAWS_IO_Handler;
15 class JAWS_Dispatch_Policy;
16 class JAWS_Data_Block;
17 class JAWS_Pipeline_Handler;
19 class JAWS_Export JAWS_Data_Block : public ACE_Message_Block
20 // = TITLE
21 // Defines the communication unit between pipeline components
23 public:
24 JAWS_Data_Block (void);
25 JAWS_Data_Block (JAWS_Data_Block &db);
26 ~JAWS_Data_Block (void);
28 JAWS_Pipeline_Handler *task (void);
29 JAWS_IO_Handler *io_handler (void);
30 JAWS_Dispatch_Policy *policy (void);
31 void *payload (void);
33 void task (JAWS_Pipeline_Handler *taskp);
34 void io_handler (JAWS_IO_Handler *handlerp);
35 void policy (JAWS_Dispatch_Policy *policyp);
36 void payload (void *payloadp);
38 enum { JAWS_DATA_BLOCK_SIZE = 8192 };
40 private:
41 JAWS_IO_Handler *io_handler_;
42 JAWS_Dispatch_Policy *policy_;
43 JAWS_Pipeline_Handler *task_;
45 void *payload_;
48 #endif /* !defined (JAWS_DATA_BLOCK_H) */