Now you can download a copy of these docs so you can use them offline! Download now
ServerNetworkTableEntryStore.cpp
1 /*
2  * ServerNetworkTableEntryStore.cpp
3  *
4  * Created on: Sep 26, 2012
5  * Author: Mitchell Wills
6  */
7 
8 #include "networktables2/server/ServerNetworkTableEntryStore.h"
9 
11  AbstractNetworkTableEntryStore(_listenerManager)
12 {
13  nextId = (EntryId)0;
14 }
15 ServerNetworkTableEntryStore::~ServerNetworkTableEntryStore()
16 {
17 }
18 
19 bool ServerNetworkTableEntryStore::addEntry(NetworkTableEntry* newEntry)
20 {
21  NTSynchronized sync(LOCK);
22  NetworkTableEntry* entry = namedEntries[newEntry->name];
23 
24  if (entry == NULL)
25  {
26  newEntry->SetId(nextId++);
27  idEntries[newEntry->GetId()] = newEntry;
28  namedEntries[newEntry->name] = newEntry;
29  return true;
30  }
31  return false;
32 }
33 
34 bool ServerNetworkTableEntryStore::updateEntry(NetworkTableEntry* entry, SequenceNumber sequenceNumber, EntryValue value)
35 {
36  NTSynchronized sync(LOCK);
37  return entry->PutValue(sequenceNumber, value);
38 }
39 
46 {
47  NTSynchronized sync(LOCK);
48  std::map<std::string, NetworkTableEntry*>::iterator itr;
49  for (itr = namedEntries.begin(); itr != namedEntries.end(); itr++)
50  {
51  NetworkTableEntry* entry = itr->second;
52  connection.sendEntryAssignment(*entry);
53  }
54  connection.sendServerHelloComplete();
55  connection.flush();
56 }
ServerNetworkTableEntryStore(TableListenerManager &listenerManager)
void SetId(EntryId id)
void sendServerHello(NetworkTableConnection &connection)
Definition: ITable.h:13
std::string name

Generated on Sat Apr 26 2014 12:26:45 for WPILibC++ by doxygen 1.8.6