VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/netIface.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2000 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: netIface.h,v $ $Revision: 1.13 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00017 
00018 
00019 #ifndef DtSimObjectNetInterface_H_
00020 #define DtSimObjectNetInterface_H_
00021 
00022 #include "vrfutil/rwBoolean.h"
00023 #include "vrfobjcore/netIfaceFact.h"
00024 
00025 
00026 class DtVrfObject;
00027 class DtStateRepository;
00028 class DtSimObjectNetInterfaceFactory;
00029 
00037 #include "vrfobjcore/vrfobjcoreDefines.h"
00038 class DT_DLL_vrfobjcore DtSimObjectNetInterface : public DtReaderWriter
00039 {
00040 protected:
00042    DtSimObjectNetInterface();
00043 
00044 public:
00045 
00050    DtSimObjectNetInterface(const DtString & name, DtVrfObject * simObject,
00051       DtReaderWriterRegistry * parentRegistry = 0, 
00052       bool publishObject = true);
00053 
00055    DtSimObjectNetInterface(const DtSimObjectNetInterface & orig, 
00056       DtReaderWriterRegistry * parentRegistry = 0);
00057 
00059    const DtSimObjectNetInterface & operator=(const DtSimObjectNetInterface & 
00060       orig);
00061 
00063    virtual ~DtSimObjectNetInterface();
00064 
00067    virtual bool init() { return true; }
00068 
00074    virtual void tick();
00075 
00079    virtual void onTick() = 0;
00080 
00083    virtual DtVrfObject * simObject() const;
00084 
00087    virtual DtStateRepository * networkState() const;
00088 
00092    virtual bool isEntity() const = 0;
00093    virtual bool isEnvironmental() const = 0;
00094 
00098    virtual bool isLocal() const = 0;
00099 
00102    virtual DtString type() const = 0;
00103    
00106    virtual int maxNameLength() const;
00107 
00110    static void addSimObjectNetInterfaceCreatorFcn(const DtString & type, 
00111       DtSimObjectNetIfaceCreatorFcn fcn);
00112 
00113    static void setFactory(DtSimObjectNetInterfaceFactory * factory);
00114    static DtSimObjectNetInterfaceFactory * factory();
00115 
00117    static DtSimObjectNetInterface * createNetInterface(
00118       const DtString & name, const DtString & type, DtVrfObject * simObject,
00119       DtReaderWriterRegistry * parentRegistry = 0,
00120       bool publishObject = true);
00121 
00125    static int maxNameLengthForInterfaceType(const DtString& interfaceTypeString);
00126 
00127 protected:
00128 
00129    DtVrfObject * mySimObject;
00130    DtStateRepository * myNetworkState;
00131 
00132    static DtSimObjectNetInterfaceFactory* theFactory;
00133 };
00134 
00135 #endif
00136 
00137 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)