MAK RTIspy API Documentation for HLA 1516
smEnrollmentMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2006 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: smEnrollmentMsg.h,v $ $Revision: 1.5 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtSmEnrollmentMsg_H_
00013 #define DtSmEnrollmentMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netRtiMsgHdr.h"
00017 #include "smRegisterMsg.h"
00018 
00019 class DtConnectionMgr;
00020 class DtSmEnrollmentMsg;
00021 typedef void (*DtSmEnrollmentMsgCb)(const DtSmEnrollmentMsg& inter, void* usr);
00022 
00023 enum DtSmRegisterFlags
00024 {
00025    DtSmRegister,
00026    DtSmUnregister,
00027    DtSmEnrollmentInvalid
00028 };
00029 
00036 class DT_DLL_LRC DtSmEnrollmentMsg : public DtRtiMsg
00037 {
00038 public:
00039 
00041    DtSmEnrollmentMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042 
00043    DtSmEnrollmentMsg(DtFederateHandle federateHandle, int fedexHandle, 
00044                      DtSmRegisterFlags action,
00045                      DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046 
00048    DtSmEnrollmentMsg(const DtSmRegisterMsg* netRepMsg,
00049                        DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00050 
00052    virtual ~DtSmEnrollmentMsg();
00053 
00055    virtual DtRtiMsg* clone(bool copy = true) const; 
00056 
00058    virtual void set(DtFederateHandle federateHandle, int fedexHandle, 
00059                     DtSmRegisterFlags action);
00060 
00062    void setActionFlag( const DtSmRegisterFlags action );
00063    const DtSmRegisterFlags actionFlag() const;
00064 
00066    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00067 
00068 public:
00069 
00071    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00072       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00073 
00075    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00076 
00078    static void addCallback(DtConnectionMgr* conn,
00079       DtSmEnrollmentMsgCb cb, void* usr);
00080    static void removeCallback(DtConnectionMgr* conn,
00081       DtSmEnrollmentMsgCb cb, void* usr);
00082 
00083 protected:
00084 
00086    virtual DtSmRegisterMsg* netSmRegisterMsg();
00087    virtual const DtSmRegisterMsg* netSmRegisterMsg() const;
00088 
00090    virtual DtRtiMsgKind internalDtRtiMsgKind();
00091 
00093    virtual int minSize() const;
00094 
00096    virtual DtSmEnrollmentMsg* self() const;
00097 };
00098 
00099 
00100 inline DtSmEnrollmentMsg* DtSmEnrollmentMsg::self() const
00101 {
00102    return const_cast<DtSmEnrollmentMsg*>( this );
00103 }
00104 
00105 #endif //! DtSmEnrollmentMsg_H_
00106 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)