00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _ZOIDREPLICATORSTRING_H_
00010 #define _ZOIDREPLICATORSTRING_H_
00011
00015 #include "zoidcom.h"
00016
00019 class ZCOM_API ZCom_RSetupString : public ZCom_ReplicatorSetup
00020 {
00021 public:
00023 ZCom_RSetupString(zU16 _maxlen, zU8 _flags, zU8 _rules, zU8 _intercept_id = 0,
00024 zS16 _mindelay = -1, zS16 _maxdelay = -1)
00025 : ZCom_ReplicatorSetup(_flags, _rules, _intercept_id,
00026 _mindelay, _maxdelay)
00027 { maxlen = _maxlen; }
00028
00029
00030 virtual ZCom_ReplicatorSetup* Duplicate();
00031
00032 public:
00035 zU16 maxlen;
00036 };
00037
00040 class ZCOM_API ZCom_Replicate_Stringp : public ZCom_ReplicatorBasic
00041 {
00042 private:
00044 char *m_ptr;
00046 char *m_cmp;
00047 public:
00049 ZCom_Replicate_Stringp(char *_data, ZCom_RSetupString *_setup);
00051 ZCom_Replicate_Stringp(char *_data, zU16 _maxlen, zU8 _flags, zU8 _rules, zU8 _intercept_id = 0,
00052 zS16 _mindelay = -1, zS16 _maxdelay = -1);
00053 ~ZCom_Replicate_Stringp();
00054 bool checkState();
00055 void packData(ZCom_BitStream *_stream);
00056 void unpackData(ZCom_BitStream *_stream, bool _store, zU32 _estimated_time_sent) ;
00057 void Process(eZCom_NodeRole _localrole, zU32 _simulation_time_passed) {};
00058
00059 void* peekData();
00060 void clearPeekData();
00061 };
00062
00065 class ZCOM_API ZCom_Replicate_StringWp : public ZCom_ReplicatorBasic
00066 {
00067 private:
00069 wchar_t *m_ptr;
00071 wchar_t *m_cmp;
00072 public:
00074 ZCom_Replicate_StringWp(wchar_t *_data, ZCom_RSetupString *_setup);
00076 ZCom_Replicate_StringWp(wchar_t *_data, zU16 _maxlen, zU8 _flags, zU8 _rules, zU8 _intercept_id = 0,
00077 zS16 _mindelay = -1, zS16 _maxdelay = -1);
00078 ~ZCom_Replicate_StringWp();
00079 bool checkState();
00080 void packData(ZCom_BitStream *_stream);
00081 void unpackData(ZCom_BitStream *_stream, bool _store, zU32 _estimated_time_sent) ;
00082 void Process(eZCom_NodeRole _localrole, zU32 _simulation_time_passed) {};
00083
00084 void* peekData();
00085 void clearPeekData();
00086 };
00087
00088 #endif