1 #include "networktables2/NetworkTableEntry.h"
2 #include "networktables2/AbstractNetworkTableEntryStore.h"
6 : name(_name), type(_type){
9 value = type->copyValue(_value);
15 :name(_name), type(_type){
17 sequenceNumber = _sequenceNumber;
18 value = type->copyValue(_value);
23 NetworkTableEntry::~NetworkTableEntry(){
27 EntryId NetworkTableEntry::GetId() {
39 bool NetworkTableEntry::PutValue(SequenceNumber newSequenceNumber,
EntryValue newValue) {
40 if( (sequenceNumber < newSequenceNumber && newSequenceNumber - sequenceNumber < HALF_OF_SEQUENCE_NUMBERS)
41 || (sequenceNumber > newSequenceNumber && sequenceNumber - newSequenceNumber > HALF_OF_SEQUENCE_NUMBERS) ){
45 sequenceNumber = newSequenceNumber;
59 sequenceNumber = newSequenceNumber;
71 sequenceNumber = newSequenceNumber;
75 void NetworkTableEntry::MakeDirty() {
78 void NetworkTableEntry::MakeClean() {
81 bool NetworkTableEntry::IsDirty(){
98 return sequenceNumber;
118 connection.sendEntryAssignment(*
this);
121 listenerManager.FireTableListeners(
name, value, m_isNew);
virtual void sendValue(EntryValue value, DataIOStream &os)=0
void ForcePut(SequenceNumber newSequenceNumber, EntryValue newValue)
static const EntryId UNKNOWN_ID
void SendValue(DataIOStream &iostream)
virtual EntryValue copyValue(EntryValue value)
SequenceNumber GetSequenceNumber()
virtual void deleteValue(EntryValue value)