Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

PXXVUnpackable.h

Go to the documentation of this file.
00001 #ifndef __PXXVUnpackable__H__
00002 #define __PXXVUnpackable__H__
00003 
00019 
00020 #include "payloads-unpacker/base/PXXObject.h"
00021 #include "payloads-unpacker/payloads/PXXVAttWritable.h"
00022 #include <string>
00023 
00024 class PXXVUnpackable : public PXXObject, public PXXVAttWritable
00025 {
00026 public:
00027 
00031      virtual ~PXXVUnpackable();
00032    //------------------------------------------------------------------------------
00033 
00040      virtual Int32b_t Unpack();
00041    //------------------------------------------------------------------------------
00042 
00046      virtual Bool8b_t IsUnpacked() const { return fIsUnpacked_; }
00047    //------------------------------------------------------------------------------
00048    
00049 protected:
00050 
00054      PXXVUnpackable();
00055    //------------------------------------------------------------------------------
00056 
00057 private:
00058 
00063      virtual Int32b_t ReadData() = 0;
00064    //------------------------------------------------------------------------------
00065 
00066 private:
00067 
00068    Bool8b_t    fIsUnpacked_; // bool indicates whether Unpack() is called
00069 
00070    ClassDef(PXXVUnpackable, 0) // interface of payloads
00071 
00072 };
00073 
00074 #ifdef __USEROOT__       // compile with ROOT
00075 typedef PXXVUnpackable*  PXXVUnpackablePtr;
00076 #else                    // compile with IceTray
00077 typedef shared_ptr<PXXVUnpackable> PXXVUnpackablePtr;
00078 #endif
00079 
00080 #endif // __PXXVUnpackable__H__


Generated on Thu Nov 10 14:06:36 2005 by doxygen version 1.4.1