OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::GuidBuilder Class Reference

#include <GuidBuilder.h>

Inheritance diagram for OpenDDS::DCPS::GuidBuilder:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::GuidBuilder:
Collaboration graph
[legend]

Public Member Functions

 GuidBuilder ()
 
 GuidBuilder (GUID_t &guid)
 
 ~GuidBuilder ()
 
void guidPrefix0 (long p0)
 
void guidPrefix1 (long p1)
 
void guidPrefix2 (long p2)
 
void entityId (EntityId_t entityId)
 
void entityId (long entityId)
 
void entityKey (long entityKey)
 
void entityKind (CORBA::Octet entityKind)
 
void entityKind (EntityKind kind, bool makeBuiltin)
 
 operator GUID_t ()
 

Static Public Member Functions

static GUID_t create ()
 

Private Attributes

GUID_t guid_cxx_
 
GUID_tguid_
 

Detailed Description

Definition at line 22 of file GuidBuilder.h.

Constructor & Destructor Documentation

◆ GuidBuilder() [1/2]

OpenDDS::DCPS::GuidBuilder::GuidBuilder ( )

Definition at line 34 of file GuidBuilder.cpp.

35  : guid_cxx_(create())
36  , guid_(guid_cxx_)
37 {
38 }

◆ GuidBuilder() [2/2]

OpenDDS::DCPS::GuidBuilder::GuidBuilder ( GUID_t guid)
explicit

Definition at line 40 of file GuidBuilder.cpp.

41  : guid_cxx_()
42  , guid_(guid)
43 {
44 }

◆ ~GuidBuilder()

OpenDDS::DCPS::GuidBuilder::~GuidBuilder ( )

Definition at line 46 of file GuidBuilder.cpp.

47 {
48 }

Member Function Documentation

◆ create()

GUID_t OpenDDS::DCPS::GuidBuilder::create ( void  )
static

Definition at line 51 of file GuidBuilder.cpp.

References OpenDDS::DCPS::ENTITYID_UNKNOWN, and OpenDDS::DCPS::VENDORID_OCI.

52 {
53  GUID_t guid = {
54  { VENDORID_OCI[0],
55  VENDORID_OCI[1],
56  0,
57  0,
58  0,
59  0,
60  0,
61  0,
62  0,
63  0,
64  0,
65  0
67  };
68  return guid;
69 }
const EntityId_t ENTITYID_UNKNOWN
Definition: GuidUtils.h:36
const GuidVendorId_t VENDORID_OCI
Vendor Id value specified for OCI is used for OpenDDS.
Definition: GuidUtils.h:29

◆ entityId() [1/2]

void OpenDDS::DCPS::GuidBuilder::entityId ( EntityId_t  entityId)

Definition at line 90 of file GuidBuilder.cpp.

References OpenDDS::DCPS::GUID_t::entityId, and guid_.

Referenced by OpenDDS::DCPS::RepoIdGenerator::next(), and OpenDDS::DCPS::operator>>().

91 {
93 }
key EntityId_t entityId
Definition: DdsDcpsGuid.idl:59
void entityId(EntityId_t entityId)
Definition: GuidBuilder.cpp:90

◆ entityId() [2/2]

ACE_INLINE void OpenDDS::DCPS::GuidBuilder::entityId ( long  entityId)

Definition at line 14 of file GuidBuilder.inl.

References ACE_INLINE, entityKey(), and entityKind().

15 {
16  entityKey(entityId >> 8);
17  entityKind(static_cast<CORBA::Octet>(0xff & entityId));
18 }
void entityKind(CORBA::Octet entityKind)
void entityId(EntityId_t entityId)
Definition: GuidBuilder.cpp:90
void entityKey(long entityKey)
Definition: GuidBuilder.cpp:96

◆ entityKey()

void OpenDDS::DCPS::GuidBuilder::entityKey ( long  entityKey)

◆ entityKind() [1/2]

void OpenDDS::DCPS::GuidBuilder::entityKind ( CORBA::Octet  entityKind)

◆ entityKind() [2/2]

void OpenDDS::DCPS::GuidBuilder::entityKind ( EntityKind  kind,
bool  makeBuiltin 
)

Definition at line 108 of file GuidBuilder.cpp.

References OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::EntityId_t::entityKind, OpenDDS::DCPS::ENTITYKIND_BUILTIN_READER_WITH_KEY, OpenDDS::DCPS::ENTITYKIND_BUILTIN_TOPIC, OpenDDS::DCPS::ENTITYKIND_BUILTIN_WRITER_WITH_KEY, OpenDDS::DCPS::ENTITYKIND_OPENDDS_PUBLISHER, OpenDDS::DCPS::ENTITYKIND_OPENDDS_SUBSCRIBER, OpenDDS::DCPS::ENTITYKIND_OPENDDS_TOPIC, OpenDDS::DCPS::ENTITYKIND_OPENDDS_USER, OpenDDS::DCPS::ENTITYKIND_USER_READER_WITH_KEY, OpenDDS::DCPS::ENTITYKIND_USER_UNKNOWN, OpenDDS::DCPS::ENTITYKIND_USER_WRITER_WITH_KEY, guid_, OpenDDS::DCPS::KIND_BUILTIN_READER, OpenDDS::DCPS::KIND_BUILTIN_TOPIC, OpenDDS::DCPS::KIND_BUILTIN_WRITER, OpenDDS::DCPS::KIND_PUBLISHER, OpenDDS::DCPS::KIND_SUBSCRIBER, OpenDDS::DCPS::KIND_USER, OpenDDS::DCPS::KIND_USER_READER, OpenDDS::DCPS::KIND_USER_TOPIC, OpenDDS::DCPS::KIND_USER_WRITER, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.

109 {
110  switch (kind) {
111 
112  // User Entities
113 
114  case KIND_USER_WRITER:
115  guid_.entityId.entityKind = makeBuiltin ?
117  break;
118 
119  case KIND_USER_READER:
120  guid_.entityId.entityKind = makeBuiltin ?
122  break;
123 
124  case KIND_USER_TOPIC:
125  guid_.entityId.entityKind = makeBuiltin ?
127  break;
128 
129  // Builtin Entities
130 
131  case KIND_BUILTIN_WRITER:
133  break;
134 
135  case KIND_BUILTIN_READER:
137  break;
138 
139  case KIND_BUILTIN_TOPIC:
141  break;
142 
143  // OpenDDS specific Publisher Guid values
144  case KIND_PUBLISHER:
147  break;
148 
149  // OpenDDS specific Subscriber Guid values
150  case KIND_SUBSCRIBER:
153  break;
154 
155  // OpenDDS specific other Guid values
156  case KIND_USER:
159  break;
160 
161  default:
164  }
165 }
const octet ENTITYKIND_BUILTIN_READER_WITH_KEY
Definition: DdsDcpsGuid.idl:36
For creating custom GUIDs for things that are not DDS entities (OpenDDS-specific) ...
Definition: GuidUtils.h:77
key EntityId_t entityId
Definition: DdsDcpsGuid.idl:59
const octet ENTITYKIND_BUILTIN_TOPIC
Definition: DdsDcpsGuid.idl:37
const octet ENTITYKIND_OPENDDS_TOPIC
Definition: DdsDcpsGuid.idl:49
ENTITYKIND_USER_WRITER_WITH_KEY and ENTITYKIND_USER_WRITER_NO_KEY.
Definition: GuidUtils.h:69
ENTITYKIND_BUILTIN_TOPIC.
Definition: GuidUtils.h:74
ENTITYKIND_BUILTIN_WRITER_WITH_KEY and ENTITYKIND_USER_WRITER_NO_KEY.
Definition: GuidUtils.h:72
const octet ENTITYKIND_USER_READER_WITH_KEY
Definition: DdsDcpsGuid.idl:43
const octet ENTITYKIND_BUILTIN_WRITER_WITH_KEY
Definition: DdsDcpsGuid.idl:33
const octet ENTITYKIND_USER_UNKNOWN
Definition: DdsDcpsGuid.idl:39
const octet ENTITYKIND_OPENDDS_USER
Definition: DdsDcpsGuid.idl:50
ENTITYKIND_OPENDDS_TOPIC.
Definition: GuidUtils.h:71
const octet ENTITYKIND_OPENDDS_PUBLISHER
Definition: DdsDcpsGuid.idl:47
ENTITYKIND_USER_READER_WITH_KEY and ENTITYKIND_USER_READER_NO_KEY.
Definition: GuidUtils.h:70
Publisher (OpenDDS-specific)
Definition: GuidUtils.h:75
Subscriber (OpenDDS-specific)
Definition: GuidUtils.h:76
const octet ENTITYKIND_USER_WRITER_WITH_KEY
Definition: DdsDcpsGuid.idl:40
ENTITYKIND_BUILTIN_READER_WITH_KEY and ENTITYKIND_USER_READER_NO_KEY.
Definition: GuidUtils.h:73
const octet ENTITYKIND_OPENDDS_SUBSCRIBER
Definition: DdsDcpsGuid.idl:46

◆ guidPrefix0()

void OpenDDS::DCPS::GuidBuilder::guidPrefix0 ( long  p0)

Definition at line 72 of file GuidBuilder.cpp.

References guid_, and OpenDDS::DCPS::GUID_t::guidPrefix.

Referenced by OpenDDS::DCPS::operator>>().

73 {
74  fill_guid(guid_.guidPrefix, p0, 4);
75 }
key GuidPrefix_t guidPrefix
Definition: DdsDcpsGuid.idl:58

◆ guidPrefix1()

void OpenDDS::DCPS::GuidBuilder::guidPrefix1 ( long  p1)

Definition at line 78 of file GuidBuilder.cpp.

References guid_, and OpenDDS::DCPS::GUID_t::guidPrefix.

Referenced by OpenDDS::DCPS::RepoIdBuilder::federationId(), and OpenDDS::DCPS::operator>>().

79 {
80  fill_guid(guid_.guidPrefix + 4, p1, 4);
81 }
key GuidPrefix_t guidPrefix
Definition: DdsDcpsGuid.idl:58

◆ guidPrefix2()

void OpenDDS::DCPS::GuidBuilder::guidPrefix2 ( long  p2)

Definition at line 84 of file GuidBuilder.cpp.

References guid_, and OpenDDS::DCPS::GUID_t::guidPrefix.

Referenced by OpenDDS::DCPS::operator>>(), and OpenDDS::DCPS::RepoIdBuilder::participantId().

85 {
86  fill_guid(guid_.guidPrefix + 8, p2, 4);
87 }
key GuidPrefix_t guidPrefix
Definition: DdsDcpsGuid.idl:58

◆ operator GUID_t()

ACE_INLINE OpenDDS::DCPS::GuidBuilder::operator GUID_t ( )

Definition at line 21 of file GuidBuilder.inl.

References guid_, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.

22 {
23  return guid_;
24 }

Member Data Documentation

◆ guid_

GUID_t& OpenDDS::DCPS::GuidBuilder::guid_
private

◆ guid_cxx_

GUID_t OpenDDS::DCPS::GuidBuilder::guid_cxx_
private

Definition at line 46 of file GuidBuilder.h.


The documentation for this class was generated from the following files: