00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _MIMETIC_MESSAGEID_H_
00017 #define _MIMETIC_MESSAGEID_H_
00018 #include <stdint.h>
00019 #include <string>
00020 #include <mimetic/config.h>
00021 #if HAVE_STDINT_H
00022 #include <stdint.h>
00023 #endif
00024 #ifdef HAVE_INTTYPES_H
00025 #include <inttypes.h>
00026 #endif
00027 #include <mimetic/utils.h>
00028 #include <mimetic/os/utils.h>
00029 #include <mimetic/rfc822/fieldvalue.h>
00030
00031 namespace mimetic
00032 {
00033
00034
00035
00036
00037 struct MessageId: public FieldValue
00038 {
00039 MessageId(uint32_t thread_id = 0 );
00040 MessageId(const std::string&);
00041 std::string str() const;
00042 void set(const std::string&);
00043 protected:
00044 FieldValue* clone() const;
00045 private:
00046 static unsigned int ms_sequence_number;
00047 std::string m_msgid;
00048 };
00049
00050
00051 }
00052
00053 #endif