MAK RTIspy API Documentation for HLA 1.3
repObjSub.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: repObjSub.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *********************************************************************/
00008 #ifdef DtMOM
00009 
00012 
00013 #ifndef DtReportObjectSubscriptionInteraction_H_
00014 #define DtReportObjectSubscriptionInteraction_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 DtReportObjectSubscriptionInteraction;
00023 typedef void (*DtReportObjectSubscriptionInteractionCb)
00024    (const DtReportObjectSubscriptionInteraction& inter, void* usr);
00025 
00026 class DT_DLL_LRC DtReportObjectSubscriptionInteraction :
00027    public DtReportInteraction
00028 {
00029 public:
00030 
00032    DtReportObjectSubscriptionInteraction();
00033 
00035    virtual ~DtReportObjectSubscriptionInteraction();
00036 
00038    DtReportObjectSubscriptionInteraction(
00039       const DtReportObjectSubscriptionInteraction& orig);
00040  
00042    DtReportObjectSubscriptionInteraction& operator=(
00043       const DtReportObjectSubscriptionInteraction& orig);
00044 
00047    virtual const DtPhvps& phvps();
00048 
00051    virtual bool setFromPhvps(const DtPhvps& phvps);
00052 
00054    virtual long numberOfClasses() const;
00055    virtual void setNumberOfClasses(long data);
00056    
00058    virtual const DtAttributeHandleSet& attributeList() const;
00059    virtual void setAttributeList(const DtAttributeHandleSet& data);
00060    
00062    virtual bool active() const;
00063    virtual void setActive(bool data);
00064    
00066    virtual DtObjectClassHandle objectClass() const;
00067    virtual void setObjectClass(DtObjectClassHandle data);
00068 
00069 #ifdef DtIFSPEC1516E
00070 
00071    virtual std::wstring maxUpdateRate() const;
00072    virtual void setMaxUpdateRate(const std::wstring& data);
00073 #endif   
00074      
00075 public:
00077    static DtReportInteraction* create();
00078 
00080    static void addCallback(DtMomInterCbMgr* callBackManager,
00081       DtReportObjectSubscriptionInteractionCb cb, void* usr);
00082    static void removeCallback(DtMomInterCbMgr* callBackManager,
00083       DtReportObjectSubscriptionInteractionCb cb, void* usr);
00084 
00085 protected:
00086 
00088    virtual void encodeNumberOfClasses(
00089       const DtMomInteraction& data,
00090       DtPhvps* parameters,
00091       DtParameterHandle parameterHandle);
00092    
00094    virtual void encodeActive(
00095       const DtMomInteraction& data,
00096       DtPhvps* parameters,
00097       DtParameterHandle parameterHandle);
00098    
00100    virtual void encodeObjectClass(
00101       const DtMomInteraction& data,
00102       DtPhvps* parameters,
00103       DtParameterHandle parameterHandle);
00104    
00106    virtual void decodeNumberOfClasses(
00107       DtMomInteraction* data,
00108       const DtPhvps& parameters,
00109       int index);
00110    
00112    virtual void decodeActive(
00113       DtMomInteraction* data,
00114       const DtPhvps& parameters,
00115       int index);
00116    
00118    virtual void decodeObjectClass(
00119       DtMomInteraction* data,
00120       const DtPhvps& parameters,
00121       int index);
00122 
00124    virtual void encodeAttributeList(
00125       DtPhvps* parameters,
00126       DtParameterHandle parameterHandle);
00127    
00129    virtual void decodeAttributeList(
00130       const DtPhvps& parameters,
00131       int index);
00132 
00133 #ifdef DtIFSPEC1516E
00134 
00135    virtual void encodeMaxUpdateRate(
00136       const DtMomInteraction& data,
00137       DtPhvps* parameters,
00138       DtParameterHandle parameterHandle);
00139 
00141    virtual void decodeMaxUpdateRate(
00142       DtMomInteraction* data,
00143       const DtPhvps& parameters,
00144       int index);
00145 #endif
00146 
00147 public:
00148    static const char* theInteractionName;
00149 
00150 protected:
00152    long myNumberOfClasses;
00153    DtAttributeHandleSet myAttributeSet;
00154    bool myActive;
00155    DtObjectClassHandle myObjectClass;
00156    std::wstring myMaxUpdateRate;
00157 
00158    const char *NUMBER_OF_CLASSES_PARAMETER_NAME;
00159    const char *ATTRIBUTE_LIST_PARAMETER_NAME;
00160    const char *ACTIVE_PARAMETER_NAME;
00161    const char *OBJECT_CLASS_PARAMETER_NAME;
00162 #ifdef DtIFSPEC1516E
00163    const char *MAX_UPDATE_RATE_PARAMETER_NAME;
00164 #endif
00165 
00166 };
00167 
00168 #endif
00169 #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)