00001 #ifndef ADMINISTRATIVEBLOCK_H_ 00002 #define ADMINISTRATIVEBLOCK_H_ 00003 00004 #include "NetworkFrame.h" 00005 #include "PayloadBlock.h" 00006 00007 namespace dtn 00008 { 00009 namespace data 00010 { 00014 enum AdministrativeBlockType 00015 { 00016 UNKNOWN = 0, 00017 STATUS_REPORT = 1, 00018 CUSTODY_SIGNAL = 2 00019 }; 00020 00024 class AdministrativeBlock : public PayloadBlock 00025 { 00026 public: 00033 AdministrativeBlock(Block *block, AdministrativeBlockType type); 00034 00040 AdministrativeBlock(NetworkFrame *frame, AdministrativeBlockType type); 00041 00045 virtual ~AdministrativeBlock(); 00046 00051 virtual AdministrativeBlockType getAdministrativeType() const; 00052 00057 ProcessingFlags getStatusFlags() const; 00058 00063 void setStatusFlags(ProcessingFlags flags); 00064 00071 static AdministrativeBlockType identify(PayloadBlock *block); 00072 00076 bool isAdministrativeBlock() const; 00077 00078 private: 00079 AdministrativeBlockType m_type; 00080 }; 00081 } 00082 } 00083 00084 #endif /*ADMINISTRATIVEBLOCK_H_*/
1.5.6