diff --git a/include/networktables/NetworkTable.h b/include/networktables/NetworkTable.h index 892391669d..683d6e2be8 100644 --- a/include/networktables/NetworkTable.h +++ b/include/networktables/NetworkTable.h @@ -562,6 +562,11 @@ class NetworkTable : public ITable { * does not exist */ std::shared_ptr GetValue(llvm::StringRef key) const override; + + /** + * Gets the full path of this table. + */ + llvm::StringRef GetPath() const override; }; #endif // NETWORKTABLE_H_ diff --git a/include/tables/ITable.h b/include/tables/ITable.h index 1f94321205..6cc07135ff 100644 --- a/include/tables/ITable.h +++ b/include/tables/ITable.h @@ -482,6 +482,12 @@ class ITable { * @param listener the listener to be removed */ virtual void RemoveTableListener(ITableListener* listener) = 0; + + /** + * Gets the full path of this table. + */ + virtual llvm::StringRef GetPath() const = 0; + }; #endif // ITABLE_H_ diff --git a/java/src/edu/wpi/first/wpilibj/networktables/NetworkTable.java b/java/src/edu/wpi/first/wpilibj/networktables/NetworkTable.java index 05ef54b636..009e45b2df 100644 --- a/java/src/edu/wpi/first/wpilibj/networktables/NetworkTable.java +++ b/java/src/edu/wpi/first/wpilibj/networktables/NetworkTable.java @@ -1102,4 +1102,14 @@ public class NetworkTable implements ITable, IRemote { public double getDouble(String key, double defaultValue) { return getNumber(key, defaultValue); } + + /** + * {@inheritDoc} + * @return + */ + @Override + public String getPath() { + return path; + } + } diff --git a/java/src/edu/wpi/first/wpilibj/tables/ITable.java b/java/src/edu/wpi/first/wpilibj/tables/ITable.java index d126cf1165..50418cf40a 100644 --- a/java/src/edu/wpi/first/wpilibj/tables/ITable.java +++ b/java/src/edu/wpi/first/wpilibj/tables/ITable.java @@ -625,4 +625,10 @@ public interface ITable { */ @Deprecated public double getDouble(String key, double defaultValue); + + /** + * Gets the full path of this table. + */ + public String getPath(); + } diff --git a/src/networktables/NetworkTable.cpp b/src/networktables/NetworkTable.cpp index 63d83cf042..984d186d24 100644 --- a/src/networktables/NetworkTable.cpp +++ b/src/networktables/NetworkTable.cpp @@ -576,3 +576,7 @@ std::shared_ptr NetworkTable::GetValue(StringRef key) const { path += key; return nt::GetEntryValue(path); } + +StringRef NetworkTable::GetPath() const { + return m_path; +}