00001 #ifndef __PXXIPayload__H__ 00002 #define __PXXIPayload__H__ 00003 00013 00014 #include "payloads-unpacker/base/PXXTypes.h" 00015 #include "payloads-unpacker/base/PXXPointerCasts.h" 00016 00017 class PXXIUTCTime; 00018 00019 class PXXIPayload 00020 { 00021 public: 00022 00026 virtual ~PXXIPayload() {} 00027 //------------------------------------------------------------------------------ 00028 00032 virtual Int32b_t GetPayloadLength() const = 0; 00033 //------------------------------------------------------------------------------ 00034 00038 virtual Int32b_t GetPayloadType() const = 0; 00039 //------------------------------------------------------------------------------ 00040 00045 virtual Int32b_t GetPayloadInterfaceType() const = 0; 00046 //------------------------------------------------------------------------------ 00047 00051 virtual const PXXIUTCTime& GetPayloadTimeUTC() = 0; 00052 //------------------------------------------------------------------------------ 00053 00054 protected: 00055 00061 PXXIPayload() {} 00062 //------------------------------------------------------------------------------ 00063 00064 private: 00065 00066 ClassDef(PXXIPayload, 0) // interface of payloads 00067 00068 }; 00069 00070 #ifdef __USEROOT__ // compile with ROOT 00071 typedef PXXIPayload* PXXIPayloadPtr; 00072 #else // compile with IceTray 00073 typedef shared_ptr<PXXIPayload> PXXIPayloadPtr; 00074 #endif 00075 00076 #endif // __PXXIPayload__H__