MAK RTIspy API Documentation for HLA 1.3
repObjPub.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: repObjPub.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *********************************************************************/
00008 #ifdef DtMOM
00009 
00012 
00013 #ifndef DtReportObjectPublicationInteraction_H_
00014 #define DtReportObjectPublicationInteraction_H_
00015 
00016 #include "rtiMsConfig.h"
00017 #include "internalTypes.h"
00018 #include "mInteraction.h"
00019 #include <vlutil/vlList.h>
00020 
00021 class DtMomInterCbMgr;
00022 class DtReportObjectPublicationInteraction;
00023 typedef void (*DtReportObjectPublicationInteractionCb)
00024    (const DtReportObjectPublicationInteraction& inter, void* usr);
00025 
00026 class DT_DLL_LRC DtReportObjectPublicationInteraction :
00027    public DtReportInteraction
00028 {
00029 public:
00030 
00032    DtReportObjectPublicationInteraction();
00033 
00035    virtual ~DtReportObjectPublicationInteraction();
00036 
00038    DtReportObjectPublicationInteraction(
00039       const DtReportObjectPublicationInteraction& orig);
00040  
00042    DtReportObjectPublicationInteraction& operator=(
00043       const DtReportObjectPublicationInteraction& orig);
00044 
00047    virtual const DtPhvps& phvps();
00048 
00051    virtual bool setFromPhvps(const DtPhvps& phvps);
00052 
00055    virtual long numberOfClasses() const;
00056    virtual void setNumberOfClasses(long data);
00057    
00059    virtual const DtAttributeHandleSet& attributeList() const;
00060    virtual void setAttributeList(const DtAttributeHandleSet& data);
00061    
00063    virtual DtObjectClassHandle objectClass() const;
00064    virtual void setObjectClass(DtObjectClassHandle data);
00065    
00066      
00067 public:
00069    static DtReportInteraction* create();
00070 
00072    static void addCallback(DtMomInterCbMgr* callBackManager,
00073       DtReportObjectPublicationInteractionCb cb, void* usr);
00074    static void removeCallback(DtMomInterCbMgr* callBackManager,
00075       DtReportObjectPublicationInteractionCb cb, void* usr);
00076 
00077 protected:
00078 
00081    virtual void encodeNumberOfClasses(
00082       const DtMomInteraction& data,
00083       DtPhvps* parameters,
00084       DtParameterHandle parameterHandle);
00085    
00087    virtual void encodeObjectClass(
00088       const DtMomInteraction& data,
00089       DtPhvps* parameters,
00090       DtParameterHandle parameterHandle);
00091    
00094    virtual void decodeNumberOfClasses(
00095       DtMomInteraction* data,
00096       const DtPhvps& parameters,
00097       int index);
00098    
00100    virtual void decodeObjectClass(
00101       DtMomInteraction* data,
00102       const DtPhvps& parameters,
00103       int index);
00104    
00106    virtual void encodeAttributeList(
00107       DtPhvps* parameters,
00108       DtParameterHandle parameterHandle);
00109    virtual void decodeAttributeList(
00110       const DtPhvps& parameters,
00111       int index);
00112    
00113 public:
00114    static const char* theInteractionName;
00115 
00116 protected:
00118    long myNumberOfClasses;
00119    DtAttributeHandleSet myAttributeList;
00120    DtObjectClassHandle myObjectClass;
00121 
00122    const char *NUMBER_OF_CLASSES_PARAMETER_NAME;
00123    const char *ATTRIBUTE_LIST_PARAMETER_NAME;
00124    const char *OBJECT_CLASS_PARAMETER_NAME;
00125 
00126 };
00127 
00128 #endif
00129 #endif

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)