00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #pragma once
00012 #include "ippdme/ippdme.h"
00013
00014 #include "ippCommandNameType.h"
00015
00016 const int TAGSTRINGSIZE = 6;
00017
00018
00019
00020
00021
00022
00023
00024 const int IPPSIZE = 65536 ;
00025
00026
00027 typedef enum tagIdType {
00028 CommandTag = 1,
00029 EventTag = 2
00030 };
00031
00032 const unsigned int invalid_tag_number = 0xFFFFFFFF;
00033
00034
00035 class IPPDME_EXT_CLASS ippTag
00036 {
00037
00038 public:
00039 ippTag(unsigned int inTagNumber, ippCommandNameType id);
00040 ippTag(unsigned int inTagNumber, tagIdType inTagType);
00041 ippTag(const ippTag&);
00042 void operator=(const ippTag&);
00043 ~ippTag();
00044
00045 void setTagNumber(unsigned int inTagNumber);
00046
00047 void setTagType(tagIdType inTagType);
00048
00049 void setTagType(ippCommandNameType commandName);
00050
00051 unsigned int getTagNumber() const;
00052
00053 tagIdType getTagType() const;
00054
00055 std::string getTagString() const;
00056
00057 bool operator==(const ippTag&) const;
00058 bool operator!=(const ippTag&) const;
00059 private:
00060 ippTag();
00061 private:
00062 unsigned int _tagNumber;
00063 tagIdType _tagType;
00064 };
00065
00066
00067 inline ippTag::ippTag()
00068 :_tagNumber(invalid_tag_number),_tagType(EventTag)
00069 {
00070 }
00071
00072 inline bool ippTag::operator==(const ippTag& rhs) const
00073 {
00074 return _tagNumber == rhs._tagNumber && _tagType != rhs._tagType;
00075 }
00076
00077 inline bool ippTag::operator!=(const ippTag& rhs) const
00078 {
00079 return !(*this == rhs);
00080 }
00081
00082 inline ippTag::ippTag(const ippTag& rhs)
00083 : _tagNumber(rhs._tagNumber)
00084 , _tagType(rhs._tagType)
00085 {
00086 }
00087
00088 inline void ippTag::operator=(const ippTag& rhs)
00089 {
00090 _tagNumber =rhs._tagNumber;
00091 _tagType = rhs._tagType;
00092 }
00093
00094
00095