00001
00002
00003
00004
00005
00006
00007
00008 #ifndef DCPS_GUIDBUILDER_H
00009 #define DCPS_GUIDBUILDER_H
00010
00011 #include "dds/DdsDcpsGuidC.h"
00012
00013 #include "GuidUtils.h"
00014
00015 #include "dcps_export.h"
00016
00017 namespace OpenDDS {
00018 namespace DCPS {
00019
00020 class OpenDDS_Dcps_Export GuidBuilder {
00021 public:
00022 GuidBuilder();
00023 explicit GuidBuilder(GUID_t& guid);
00024
00025 ~GuidBuilder();
00026
00027 static GUID_t create();
00028
00029 void guidPrefix0(long p0);
00030 void guidPrefix1(long p1);
00031 void guidPrefix2(long p2);
00032
00033 void entityId(EntityId_t entityId);
00034 void entityId(long entityId);
00035
00036 void entityKey(long entityKey);
00037
00038 void entityKind(CORBA::Octet entityKind);
00039 void entityKind(EntityKind kind);
00040
00041 operator GUID_t();
00042
00043 private:
00044 GUID_t guid_cxx_;
00045 GUID_t& guid_;
00046 };
00047
00048 }
00049 }
00050
00051 #ifdef __ACE_INLINE__
00052 # include "GuidBuilder.inl"
00053 #endif
00054
00055 #endif