staticSlaveCM.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef EQNET_STATICSLAVECM_H
00019 #define EQNET_STATICSLAVECM_H
00020
00021 #include <eq/net/objectCM.h>
00022 #include <eq/net/command.h>
00023 #include <eq/net/object.h>
00024 #include <eq/base/idPool.h>
00025 #include <eq/base/monitor.h>
00026
00027 namespace eq
00028 {
00029 namespace net
00030 {
00031 class Node;
00032 class ObjectDataIStream;
00033
00038 class StaticSlaveCM : public ObjectCM
00039 {
00040 public:
00041 StaticSlaveCM( Object* object );
00042 virtual ~StaticSlaveCM();
00043
00044 virtual void makeThreadSafe(){}
00045
00050 virtual uint32_t commitNB() { EQDONTCALL; return EQ_ID_INVALID; }
00051 virtual uint32_t commitSync( const uint32_t commitID )
00052 { EQDONTCALL; return Object::VERSION_NONE; }
00053
00054 virtual void obsolete( const uint32_t version ) { EQDONTCALL; }
00055
00056 virtual void setAutoObsolete( const uint32_t count,
00057 const uint32_t flags ) { EQDONTCALL; }
00058 virtual uint32_t getAutoObsoleteCount() const
00059 { EQDONTCALL; return 0; }
00060
00061 virtual uint32_t sync( const uint32_t version )
00062 { EQDONTCALL; return Object::VERSION_NONE; }
00063
00064 virtual uint32_t getHeadVersion() const { return Object::VERSION_NONE; }
00065 virtual uint32_t getVersion() const { return Object::VERSION_NONE; }
00066 virtual uint32_t getOldestVersion() const {return Object::VERSION_NONE;}
00068
00069 virtual bool isMaster() const { return false; }
00070 virtual uint32_t getMasterInstanceID() const { return EQ_ID_INVALID; }
00071
00072 virtual void addSlave( NodePtr slave, const uint32_t instanceID,
00073 const uint32_t version ) { EQDONTCALL; }
00074 virtual void removeSlave( NodePtr node ) { EQDONTCALL; }
00075 virtual void addOldMaster( NodePtr node, const uint32_t instanceID )
00076 { EQDONTCALL }
00077
00078 virtual void applyMapData();
00079
00080 protected:
00082 Object* _object;
00083
00085 ObjectDataIStream* _currentIStream;
00086
00087 private:
00088
00089 CommandResult _cmdInstanceData( Command& command );
00090 CommandResult _cmdInstance( Command& command );
00091 };
00092 }
00093 }
00094
00095 #endif // EQNET_STATICSLAVECM_H