WPILibC++  unspecified
ITable.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) FIRST 2015. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #ifndef ITABLE_H_
9 #define ITABLE_H_
10 
11 #include <memory>
12 
13 #include "llvm/StringRef.h"
14 #include "networktables/NetworkTableValue.h"
15 #include "support/deprecated.h"
16 
17 namespace nt {
18 class NetworkTable;
19 } // namespace nt
20 
21 class ITableListener;
22 
26 class WPI_DEPRECATED("Use NetworkTable directly") ITable {
27  public:
34  virtual bool ContainsKey(llvm::StringRef key) const = 0;
35 
44  virtual bool ContainsSubTable(llvm::StringRef key) const = 0;
45 
52  virtual std::shared_ptr<nt::NetworkTable> GetSubTable(llvm::StringRef key) const = 0;
53 
58  virtual std::vector<std::string> GetKeys(int types = 0) const = 0;
59 
63  virtual std::vector<std::string> GetSubTables() const = 0;
64 
70  virtual void SetPersistent(llvm::StringRef key) = 0;
71 
78  virtual void ClearPersistent(llvm::StringRef key) = 0;
79 
86  virtual bool IsPersistent(llvm::StringRef key) const = 0;
87 
95  virtual void SetFlags(llvm::StringRef key, unsigned int flags) = 0;
96 
104  virtual void ClearFlags(llvm::StringRef key, unsigned int flags) = 0;
105 
112  virtual unsigned int GetFlags(llvm::StringRef key) const = 0;
113 
119  virtual void Delete(llvm::StringRef key) = 0;
120 
128  virtual std::shared_ptr<nt::Value> GetValue(llvm::StringRef key) const = 0;
129 
136  virtual bool SetDefaultValue(llvm::StringRef key,
137  std::shared_ptr<nt::Value> defaultValue) = 0;
138 
146  virtual bool PutValue(llvm::StringRef key,
147  std::shared_ptr<nt::Value> value) = 0;
148 
156  virtual bool PutNumber(llvm::StringRef key, double value) = 0;
157 
164  virtual bool SetDefaultNumber(llvm::StringRef key, double defaultValue) = 0;
165 
174  virtual double GetNumber(llvm::StringRef key, double defaultValue) const = 0;
175 
183  virtual bool PutString(llvm::StringRef key, llvm::StringRef value) = 0;
184 
191  virtual bool SetDefaultString(llvm::StringRef key,
192  llvm::StringRef defaultValue) = 0;
193 
206  virtual std::string GetString(llvm::StringRef key,
207  llvm::StringRef defaultValue) const = 0;
208 
216  virtual bool PutBoolean(llvm::StringRef key, bool value) = 0;
217 
224  virtual bool SetDefaultBoolean(llvm::StringRef key, bool defaultValue) = 0;
225 
235  virtual bool GetBoolean(llvm::StringRef key, bool defaultValue) const = 0;
236 
247  virtual bool PutBooleanArray(llvm::StringRef key,
248  llvm::ArrayRef<int> value) = 0;
249 
256  virtual bool SetDefaultBooleanArray(llvm::StringRef key,
257  llvm::ArrayRef<int> defaultValue) = 0;
258 
274  virtual std::vector<int> GetBooleanArray(
275  llvm::StringRef key, llvm::ArrayRef<int> defaultValue) const = 0;
276 
283  virtual bool PutNumberArray(llvm::StringRef key,
284  llvm::ArrayRef<double> value) = 0;
285 
292  virtual bool SetDefaultNumberArray(llvm::StringRef key,
293  llvm::ArrayRef<double> defaultValue) = 0;
294 
306  virtual std::vector<double> GetNumberArray(
307  llvm::StringRef key, llvm::ArrayRef<double> defaultValue) const = 0;
308 
315  virtual bool PutStringArray(llvm::StringRef key,
316  llvm::ArrayRef<std::string> value) = 0;
317 
324  virtual bool SetDefaultStringArray(
325  llvm::StringRef key, llvm::ArrayRef<std::string> defaultValue) = 0;
326 
338  virtual std::vector<std::string> GetStringArray(
339  llvm::StringRef key, llvm::ArrayRef<std::string> defaultValue) const = 0;
340 
347  virtual bool PutRaw(llvm::StringRef key, llvm::StringRef value) = 0;
348 
355  virtual bool SetDefaultRaw(llvm::StringRef key,
356  llvm::StringRef defaultValue) = 0;
357 
369  virtual std::string GetRaw(llvm::StringRef key,
370  llvm::StringRef defaultValue) const = 0;
371 
377  virtual void AddTableListener(ITableListener* listener) = 0;
378 
386  virtual void AddTableListener(ITableListener* listener,
387  bool immediateNotify) = 0;
388 
397  virtual void AddTableListenerEx(ITableListener* listener,
398  unsigned int flags) = 0;
399 
408  virtual void AddTableListener(llvm::StringRef key, ITableListener* listener,
409  bool immediateNotify) = 0;
410 
420  virtual void AddTableListenerEx(llvm::StringRef key, ITableListener* listener,
421  unsigned int flags) = 0;
422 
427  virtual void AddSubTableListener(ITableListener* listener) = 0;
428 
435  virtual void AddSubTableListener(ITableListener* listener,
436  bool localNotify) = 0;
437 
443  virtual void RemoveTableListener(ITableListener* listener) = 0;
444 
448  virtual llvm::StringRef GetPath() const = 0;
449 
450 };
451 
452 #endif // ITABLE_H_
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
Definition: ArrayRef.h:32
Definition: IEntryNotifier.h:15
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:42