Now you can download a copy of these docs so you can use them offline! Download now
NetworkTableMode.cpp
1 /*
2  * NetworkTableMode.cpp
3  *
4  * Created on: Oct 16, 2012
5  * Author: Mitchell Wills
6  */
7 
8 #include <string>
9 #include "networktables2/thread/NTThreadManager.h"
10 #include "networktables2/NetworkTableNode.h"
11 #include "networktables2/server/NetworkTableServer.h"
12 #include "networktables2/client/NetworkTableClient.h"
13 #include "networktables2/stream/SocketServerStreamProvider.h"
14 #include "networktables2/stream/SocketStreamFactory.h"
15 #include "networktables/NetworkTableMode.h"
16 
17 
18 NetworkTableServerMode NetworkTableMode::Server;
19 NetworkTableClientMode NetworkTableMode::Client;
20 
21 NetworkTableServerMode::NetworkTableServerMode(){}
22 NetworkTableClientMode::NetworkTableClientMode(){}
23 
24 static void deleteIOStreamProvider(void* ptr){
25  delete (IOStreamProvider*)ptr;
26 }
27 static void deleteIOStreamFactory(void* ptr){
28  delete (IOStreamFactory*)ptr;
29 }
30 
31 NetworkTableNode* NetworkTableServerMode::CreateNode(const char* ipAddress, int port, NTThreadManager& threadManager, void*& streamFactory_out, StreamDeleter& streamDeleter_out, NetworkTableEntryTypeManager*& typeManager_out){
32  IOStreamProvider* streamProvider = new SocketServerStreamProvider(port);
33  streamFactory_out = streamProvider;
34  typeManager_out = new NetworkTableEntryTypeManager();
35  streamDeleter_out = deleteIOStreamFactory;
36  return new NetworkTableServer(*streamProvider, *typeManager_out, threadManager);
37 }
38 NetworkTableNode* NetworkTableClientMode::CreateNode(const char* ipAddress, int port, NTThreadManager& threadManager, void*& streamFactory_out, StreamDeleter& streamDeleter_out, NetworkTableEntryTypeManager*& typeManager_out){
39  IOStreamFactory* streamFactory = new SocketStreamFactory(ipAddress, port);
40  streamFactory_out = streamFactory;
41  typeManager_out = new NetworkTableEntryTypeManager();
42  streamDeleter_out = deleteIOStreamProvider;
43  return new NetworkTableClient(*streamFactory, *typeManager_out, threadManager);
44 }
virtual NetworkTableNode * CreateNode(const char *ipAddress, int port, NTThreadManager &threadManager, void *&streamFactory_out, StreamDeleter &streamDeleter_out, NetworkTableEntryTypeManager *&typeManager_out)
virtual NetworkTableNode * CreateNode(const char *ipAddress, int port, NTThreadManager &threadManager, void *&streamFactory_out, StreamDeleter &streamDeleter_out, NetworkTableEntryTypeManager *&typeManager_out)

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