00001 #ifndef CUSTODYSIGNALBLOCK_H_ 00002 #define CUSTODYSIGNALBLOCK_H_ 00003 00004 #include "AdministrativeBlock.h" 00005 #include "Exceptions.h" 00006 00007 namespace dtn 00008 { 00009 namespace data 00010 { 00011 enum CUSTODY_FIELDS 00012 { 00013 CUSTODY_ADMFIELD = 0, 00014 CUSTODY_STATUS = 1, 00015 CUSTODY_FRAGMENT_OFFSET = 2, 00016 CUSTODY_FRAGMENT_LENGTH = 3, 00017 CUSTODY_TIMEOFSIGNAL = 4, 00018 CUSTODY_BUNDLE_TIMESTAMP = 5, 00019 CUSTODY_UNKNOWN = 6, 00020 CUSTODY_BUNDLE_SEQUENCE = 7, 00021 CUSTODY_BUNDLE_SOURCE_LENGTH = 8, 00022 CUSTODY_BUNDLE_SOURCE = 9 00023 }; 00024 00025 class CustodySignalBlock : public data::AdministrativeBlock 00026 { 00027 public: 00031 CustodySignalBlock(Block *block); 00032 CustodySignalBlock(NetworkFrame *frame); 00033 00037 virtual ~CustodySignalBlock(); 00038 00039 bool forFragment() const; 00040 00041 unsigned int getFragmentOffset() const; 00042 void setFragmentOffset(unsigned int value); 00043 00044 unsigned int getFragmentLength() const; 00045 void setFragmentLength(unsigned int value); 00046 00047 unsigned int getTimeOfSignal() const; 00048 void setTimeOfSignal(unsigned int value); 00049 00050 unsigned int getCreationTimestamp() const; 00051 void setCreationTimestamp(unsigned int value); 00052 00053 unsigned int getCreationTimestampSequence() const; 00054 void setCreationTimestampSequence(unsigned int value); 00055 00056 string getSource() const; 00057 void setSource(string value); 00058 00059 bool isAccepted() const; 00060 void setAccepted(bool value); 00061 00062 bool match(const Bundle &b) const; 00063 void setMatch(const Bundle &b); 00064 private: 00065 unsigned int getField(CUSTODY_FIELDS field) const; 00066 }; 00067 } 00068 } 00069 00070 #endif /*CUSTODYSIGNALBLOCK_H_*/
1.5.6