FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BinaryBaseClassSerializer.h
Go to the documentation of this file.
1 /*
2  * File: BinaryBaseClassSerializer.h
3  * Author: winckler
4  *
5  * Created on October 10, 2014, 5:22 PM
6  */
7 
8 #ifndef BINARYBASECLASSSERIALIZER_H
9 #define BINARYBASECLASSSERIALIZER_H
10 
11 #include <FairMQMessage.h>
12 
13 template<typename TPayload>
15 {
16  public:
18  : fPayload(nullptr)
19  , fMessage(nullptr)
20  , fNumInput(0)
21  {}
22 
25 
27 
28  void GetPayload(FairMQMessage* msg)
29  {
30  int inputSize = msg->GetSize();
31  if (inputSize > 0) {
32  fNumInput = inputSize / sizeof(TPayload);
33  }
34  fPayload = static_cast<TPayload*>(msg->GetData());
35  }
36 
37  void SetMessage(FairMQMessage* msg) { fMessage = msg; }
38 
39  FairMQMessage* GetMessage() { return fMessage; }
40 
41  protected:
42  TPayload* fPayload;
43  FairMQMessage* fMessage;
44  int fNumInput;
45 };
46 
47 #endif /* BINARYBASECLASSSERIALIZER_H */
void SetMessage(FairMQMessage *msg)
BinaryBaseClassSerializer operator=(const BinaryBaseClassSerializer &)=delete
void GetPayload(FairMQMessage *msg)