diff options
author | Keith Packard <keithp@keithp.com> | 2016-06-15 22:40:27 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-06-15 22:40:27 -0700 |
commit | 1b5ea911049a8afae6af475a4a2bf62a6e3aa57b (patch) | |
tree | 7f896e587da5e7911b7b5a42aade1b7692670200 /altoslib/AltosGPSSat.java | |
parent | 1de8b6c340cec0b5a327392686c5a4e00f201e98 (diff) |
altoslib: Switch preserved state format to JSON
This is much easier to debug than the icky strings with backslashes everywhere.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosGPSSat.java')
-rw-r--r-- | altoslib/AltosGPSSat.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/altoslib/AltosGPSSat.java b/altoslib/AltosGPSSat.java index ad7a8647..319fe7f1 100644 --- a/altoslib/AltosGPSSat.java +++ b/altoslib/AltosGPSSat.java @@ -22,7 +22,7 @@ import java.text.*; import java.util.*; import java.util.concurrent.*; -public class AltosGPSSat { +public class AltosGPSSat implements AltosJsonable { public int svid; public int c_n0; @@ -41,17 +41,40 @@ public class AltosGPSSat { return h; } + public AltosJson json() { + AltosJson j = new AltosJson(); + j.put("svid", svid); + j.put("c_n0", c_n0); + return j; + } + private AltosGPSSat(AltosHashSet h) { svid = h.getInt("svid", 0); c_n0 = h.getInt("c_n0", 0); } + private AltosGPSSat(AltosJson j) { + svid = j.get_int("svid", 0); + c_n0 = j.get_int("c_n0", 0); + } + static public AltosGPSSat fromHashSet(AltosHashSet h, AltosGPSSat def) { if (h == null) return def; return new AltosGPSSat(h); } + static public AltosGPSSat[] json_array(AltosJson j) { + if (j == null) + return null; + + int size = j.size(); + AltosGPSSat[] sats = new AltosGPSSat[size]; + for (int i = 0; i < size; i++) + sats[i] = new AltosGPSSat(j.get(i)); + return sats; + } + static public AltosGPSSat[] array(String string) { if (string == null) |