00001 #ifndef PRIMARYFLAGS_H_
00002 #define PRIMARYFLAGS_H_
00003
00004 #include "ProcessingFlags.h"
00005
00006 namespace dtn
00007 {
00008 namespace data
00009 {
00013 enum PriorityFlag
00014 {
00015 BULK = 0,
00016 NORMAL = 1,
00017 EXPEDITED = 2,
00018 RESERVED = 3
00019 };
00020
00021 enum PrimaryProcBits
00022 {
00023 FRAGMENT = 0,
00024 APPDATA_IS_ADMRECORD = 1,
00025 DONT_FRAGMENT = 2,
00026 CUSTODY_REQUESTED = 3,
00027 DESTINATION_IS_SINGLETON = 4,
00028 ACKOFAPP_REQUESTED = 5,
00029 RESERVED_6 = 6,
00030 PRIORITY_BIT1 = 7,
00031 PRIORITY_BIT2 = 8,
00032 CLASSOFSERVICE_9 = 9,
00033 CLASSOFSERVICE_10 = 10,
00034 CLASSOFSERVICE_11 = 11,
00035 CLASSOFSERVICE_12 = 12,
00036 CLASSOFSERVICE_13 = 13,
00037 REQUEST_REPORT_OF_BUNDLE_RECEPTION = 14,
00038 REQUEST_REPORT_OF_CUSTODY_ACCEPTANCE = 15,
00039 REQUEST_REPORT_OF_BUNDLE_FORWARDING = 16,
00040 REQUEST_REPORT_OF_BUNDLE_DELIVERY = 17,
00041 REQUEST_REPORT_OF_BUNDLE_DELETION = 18,
00042 STATUS_REPORT_REQUEST_19 = 19,
00043 STATUS_REPORT_REQUEST_20 = 20
00044 };
00045
00046
00050 class PrimaryFlags : public data::ProcessingFlags
00051 {
00052 public:
00056 PrimaryFlags();
00057
00062 PrimaryFlags(unsigned int value);
00063
00067 virtual ~PrimaryFlags();
00068
00073 bool isFragment();
00074
00079 void setFragment(bool value);
00080
00085 bool isAdmRecord();
00086
00091 void setAdmRecord(bool value);
00092
00097 bool isFragmentationForbidden();
00098
00103 void setFragmentationForbidden(bool value);
00104
00109 bool isCustodyRequested();
00110
00115 void setCustodyRequested(bool value);
00116
00121 bool isEIDSingleton();
00122
00127 void setEIDSingleton(bool value);
00128
00133 bool isAckOfAppRequested();
00134
00139 void setAckOfAppRequested(bool value);
00140
00145 PriorityFlag getPriority();
00146
00151 void setPriority(PriorityFlag value);
00152 };
00153 }
00154 }
00155
00156 #endif