12 #ifndef DtInterRegSetMsg_H_
13 #define DtInterRegSetMsg_H_
18 #include <vlutil/vlInetAddr.h>
23 class DtInterRegSetMsg;
25 enum DtInterRegSetType
31 typedef void (*DtInterRegSetCb)(
const DtInterRegSetMsg& msg,
void* usr);
38 DtInterRegSetMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
41 DtInterRegSetMsg(DtInterRegSetType type,
42 const DtRegionSet ®ionSet,
44 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 virtual ~DtInterRegSetMsg();
57 virtual void set(DtInterRegSetType type,
58 const DtRegionSet ®ionSet,
62 virtual void setRegionSetType(DtInterRegSetType type);
63 virtual DtInterRegSetType regionSetType()
const;
74 virtual void setAddress(
const MAKRti::DtInetAddr& addressValue);
75 virtual MAKRti::DtInetAddr address()
const;
78 virtual unsigned long numberRegions()
const;
84 virtual void reserveRegionSlots(
unsigned long numberRegions);
98 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
101 DtInterRegSetCb cb,
void *usr);
104 DtInterRegSetCb cb,
void *usr);
109 virtual DtNetU32* netRegions();
119 virtual int minSize()
const;
122 virtual DtInterRegSetMsg*
self()
const;
125 unsigned long myRegionCount;
126 unsigned long myReservedSlotCount;
132 inline DtInterRegSetMsg* DtInterRegSetMsg::self()
const
134 return const_cast<DtInterRegSetMsg*
>( this );